2

Rails プロジェクトで Nokogiri を使用してサードパーティから XML ファイルを読み込もうとしています。解析していないノードの 1 つに、アンパサンドがエスケープされていない URL が含まれています ( などfoo.com/index.html?page=1&query=bar)

これは不正な XML と見なされ、Nokogiri はとにかくそれを解析しようとするため、foo.com/index.html?page=1=bar.

完全な URL を取得するにはどうすればよいですか? ノコギリを微調整できますか?search&replace-prerun を実行しますか、それともベスト プラクティスは何ですか?

4

1 に答える 1

2

アンパサンドを含む画像リンクを含む SVG の解析で同じ問題が発生しました。

SVG を HTML として解析すると、& をエスケープしてリンクが正しく処理されるようです。

fixed_svg = Nokogiri::HTML.fragment(raw_svg).to_html
# proceed with XML parsing
svg = Nokogiri::XML(fixed_svg)
于 2013-12-10T18:33:46.703 に答える