Nokogiri xml 판독기가 XML 구문에 엄격함을 발견했습니다. 따라서 이스케이프 처리되지 않은 앰퍼샌드 (예 : <tag> Garage & Driveway </tag>
)와 같이 XML 내에서 유효하지 않은 문자가 발생하면 오류가 발생합니다. 나는 독자를 사용할 때Nokogiri :: XML :: Reader를 사용하여 잘못된 XML 처리
그래서 다음과 같이 큰 문서를 구문 분석을 통해
<root>
<items>
<tag>The & is invalid</tag>
</items>
<items> ... </items>
<root>
미드웨이 : 이와 같은 XML로
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'
:
Nokogiri::XML::Reader(infile).each do |node|
# does stuff with node
end
이 오류가 발생합니다 . 나는 Nokogiri :: XML :: Parser가 (더) 정상적으로 이것을 처리하고 잘못된 모든 문자를 제거한다는 것을 알았으므로 좀 더 우아한 솔루션에 대한 희망을 준다.
이상하게도 나는 오류를 잡아 내고 각 구문 분석을 계속하는 것이 좋을 것입니다. 이걸 우아하게 처리하는 방법에 대한 제안이 있으십니까?
필자는 ParseOptions를 전달할 수있는 것으로 나타 났으 나 havent는이를 사용하여 운이 좋았다.
미리 감사드립니다.