我有格式的XML:
...
<To>"Paul McCartney" <paul.mccartney@hotmail.com></To>
<From>"John Lennon" <john.lennon@yahoo.com></From>
...
SAXParser一到达电子邮件地址就会抛出异常。它认为<paul.mccartney@hotmail.com>
是一个XML元素,只要遇到@
符号就会引发异常。无论如何都要忽略Java SAX中某些元素的内容?
答案 0 :(得分:5)
如果你使用的是DefaultHandler,你可以尝试覆盖org.xml.sax.helpers.DefaultHandler.error()
和类似的方法吗?另请参阅org.xml.sax.ErrorHandler
的JavaDoc:
http://download.oracle.com/javase/6/docs/api/org/xml/sax/ErrorHandler.html
但无论如何,XML都是无效的。不应该那样。您可以对其进行预处理并将<
替换为<
,将>
替换为>
,或者将整个<To/>
和<From/>
内容整合到<![CDATA[ ]]>
中阻止......
答案 1 :(得分:1)
它不是XML,所以XML解析器不会解析它,如果你可以改变格式,否则你最好打赌你自己解析特定于这种格式的解析器。