SAX Parser,如何动态忽略&在SAXParser.parse的输入xml文件中

时间:2014-06-10 17:02:55

标签: java parsing sax

我有一个场景,我从另一个服务获取XML并解析此文件并将其呈现给另一个文件。

但是,有时候,我们会在任何标记内的输入文件中获得&,当我们尝试解析此文件时,我们会得到SAXException

我们是否可以动态替换&,或者我们可以在解析时忽略&符号?

1 个答案:

答案 0 :(得分:1)

在做了一些研究之后,我提出了以下几点:

  1. SAX Parser需要一个干净的XML文件,没有任何错误,否则它将失败,我们无法在输入中动态更改字符。因此,我们需要事先检查输入XML文件。

  2. 要轻松更改输入文件中的字符" StringEscapeUtils.escapeXml"由Apache提供的" org.apache.commons.lang.StringEscapeUtils"包。但是,这有其缺点,因为它将出现角色的所有出现。作为参考,您可以查看此博客:" http://javarevisited.blogspot.com/2012/09/how-to-replace-escape-xml-special-characters-java-string.html"

  3. 但是,我的用例场景不同,我只需要从输入文件中删除特定字符。所以,为此我必须从头开始编码;我必须读取文件并检查所需的字符以删除并删除它并再次写回文件。