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そこから を作成できます。すなわち

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 に答える