是否有一种简单的方法/方法来检查Nokogiri XML
文件是否具有正确的根目录,例如xml.valid?
也非常欢迎使用一种方法来检查XML文件是否包含特定内容。
我在想类似xml.valid?
或的东西xml.has_valid_root?
。谢谢!
您将如何确定什么是适当的根?
<foo></foo>
有适当的根:
require 'nokogiri'
xml = '<foo></foo>'
doc = Nokogiri::XML(xml)
doc.root # => #<Nokogiri::XML::Element:0x3fd3a9471b7c name="foo">
Nokogiri无法确定应该以其他东西为根。您也许能够测试您是否知道根节点的名称应为:
doc_root_ok = (doc.root.name == 'foo')
doc_root_ok # => true
你可以看到,如果解析的文件是格式良好的(不需要任何修正),通过查看errors
:
doc.errors # => []
如果Nokogiri只是为了解析文档而修改了文档,errors
它将返回解析之前所做的更改的列表:
xml = '<foo><bar><bar></foo>'
doc = Nokogiri::XML(xml)
doc.errors # => [#<Nokogiri::XML::SyntaxError: Opening and ending tag mismatch: bar line 1 and foo>, #<Nokogiri::XML::SyntaxError: Premature end of data in tag bar line 1>, #<Nokogiri::XML::SyntaxError: Premature end of data in tag foo line 1>]
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句