Java:SAXParser字符引用解码

时间:2010-10-03 16:39:35

标签: java xml character-encoding sax

参考这个问题Java: splitting up a large XML file with SAXParser我实际上是在使用SAXParser读取xml文件并将其回显到另一个文件。

我的问题是我的输入文件的内容包含在读取时被解码的字符引用。我该如何阻止它?我想写出没有解码引用的原始字符。

(我不能举一个例子,因为它们在页面中被解码了!)

2 个答案:

答案 0 :(得分:1)

dom4jXMLWriter class会重新编码这些字符。例如这段代码:

XMLWriter writer = new XMLWriter(System.out);
writer.startElement(null, null, "example", new AttributesImpl());
writer.write(">");
writer.endElement(null, null, "example");
writer.flush();

将产生此输出:

<example>&gt;</example>

答案 1 :(得分:1)

我认为你不能用SAX做到这一点。但是,您可以告诉StAX解析器(而不是SAX)在解析(see this prior answer)时不解码字符实体。您应该能够以与解析器读取它们相同的格式将这些回显到输出中。

StAX应该和SAX一样好。