使用Nokogiri读取XML文件是否需要根元素?



我在读取XML文件时遇到问题,因为它不包含'根'。

如果我有这样一个文件:

<?xml version="1.0" encoding="utf-8"?>
<a>
<country>US</country>
</a>
<b>
<country>UK</country>
</b>

Nokogiri似乎只读取第一个元素。如果XML文件有根元素,它似乎可以正常工作。我使用Nokogiri 1.5.6。

如此:

<?xml version="1.0" encoding="utf-8"?>
<root>
<a>
<country>US</country>
</a>
<b>
<country>UK</country>
</b>
</root>

没有根元素,它就不是一个完整的XML文档。您可以在解析之前将XML包装在根元素中,或者从中创建一个Nokogiri::XML::DocumentFragment。例如

Nokogiri::XML::DocumentFragment.parse(str)

代替:

Nokogiri::XML(str)

理想情况下,您可以修复创建XML的任何东西。

Sitemaps没有根元素。站点地图是XML文档,站点地图协议在没有根元素的情况下定义它。http://www.sitemaps.org/protocol.html

相关内容

  • 没有找到相关文章

最新更新