代码之家  ›  专栏  ›  技术社区  ›  Richard H

Java:SAXParser字符参考译码

  •  0
  • Richard H  · 技术社区  · 14 年前

    关于这个问题 Java: splitting up a large XML file with SAXParser 我基本上是在用 SAXParser 并将其回送到另一个文件。

    我的问题是,输入文件的内容包含正在读取时解码的字符引用。我怎样才能阻止这一切?我想写出原始字符而不解码引用。

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

    2 回复  |  直到 14 年前
        1
  •  1
  •   Community CDub    8 年前

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

    stax的性能应该和sax一样好。

        2
  •  1
  •   Richard Fearn    14 年前

    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>&gt;</example>