3

当 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>
4

2 回答 2

6

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

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

代替:

Nokogiri::XML(str)

理想情况下,您修复创建 XML 的任何内容。

于 2013-04-06T13:42:51.150 回答
0

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

于 2015-03-26T06:11:59.367 回答