2
我發現Nokogiri xml讀者嚴格使用xml語法,因此如果在xml中遇到無效字符(如非轉義符號)(例如<tag> Garage & Driveway </tag>
)會導致錯誤被拋出。使用Nokogiri :: XML :: Reader處理無效的XML
所以當我用讀者如下:通過分析大量文件
<root>
<items>
<tag>The & is invalid</tag>
</items>
<items> ... </items>
<root>
中途島:
Nokogiri::XML::Reader(infile).each do |node|
# does stuff with node
end
拋出錯誤:
Entity: line 1056614: parser error : xmlParseEntityRef: no name
<tag>The & is invalid</tag>
^
transmogrifier/gems/nokogiri-1.5.5/lib/nokogiri/xml/reader.rb:106:in `each'
隨着XML像這樣。我注意到Nokogiri :: XML :: Parser處理這個(更多)優雅,並刪除所有無效的字符,這給了我一個更優雅的解決方案的希望。
理想情況下,我希望能夠抓住錯誤並繼續進行每個解析(因爲很少有項目具有無效字符)。有關如何優雅地處理這個問題的任何建議?
我注意到你可以通過ParseOptions,但沒有使用這些運氣。
在此先感謝!