参考这个问题Java: splitting up a large XML file with SAXParser我实际上是在使用SAXParser
读取xml文件并将其回显到另一个文件。
我的问题是我的输入文件的内容包含在读取时被解码的字符引用。我该如何阻止它?我想写出没有解码引用的原始字符。
(我不能举一个例子,因为它们在页面中被解码了!)
答案 0 :(得分:1)
dom4j的XMLWriter class会重新编码这些字符。例如这段代码:
XMLWriter writer = new XMLWriter(System.out);
writer.startElement(null, null, "example", new AttributesImpl());
writer.write(">");
writer.endElement(null, null, "example");
writer.flush();
将产生此输出:
<example>></example>
答案 1 :(得分:1)
我认为你不能用SAX做到这一点。但是,您可以告诉StAX解析器(而不是SAX)在解析(see this prior answer)时不解码字符实体。您应该能够以与解析器读取它们相同的格式将这些回显到输出中。
StAX应该和SAX一样好。