我正在使用SAX(javax.xml.parsers.SAXParser;
)讀取XML。在這種XML,還有像一些特殊字符(&,<,>,「,」)的子節點值之間可用。所以,高達該點SAX讀取XML成功,但在這一點上,它拋出一個org.xml.sax.SAXParseException
。使用SAX讀取XML,跳過傳遞org.xml.sax.SAXParseException的節點
舉一個例子,在下面的示例XML,SAX最多讀取的成功的節點值,但它在引發此org.xml.sax.SAXParseException
由於名稱參數的值具有在那裏<。
<Parent>
<child1>
LS-23541723
</child1>
<child2 id="2" Name="T-Shirt And Denim - T<D" Rate="500.00">
</child2>
<child3>
<![CDATA[This is the child 2]]>
</child3>
<child4>
<![CDATA[This is the child 4]]>
</child4>
</Parent>
我無法事先確定包含這些特殊字符的節點(它是透明的)。所以,我想要做的是,用SAX讀取一個XML,忽略包含這些特殊字符的節點。簡而言之,我認爲如果可以使用SAX讀取XML,可以跳過通過org.xml.sax.SAXParseException的節點來執行此操作。
這是可能的,如果是的話怎麼樣?
注:我不能簡單地與實體Refrences替換它們像&
以來,一些次XML節點與<
正在添加,>
以及(被作爲正在添加<child1>
)。因此,在開始閱讀SAX之前,我將所有實體參考替換爲字符參考。(replaceAll(">",">"
)等)
謝謝Ikuty,其實我現在也得出這個結論。 – namalfernandolk