我在http://stax.codehaus.org/的vrsion 1.2.0中使用StAX Streaming Api。 当我尝试将以下xml写入文件时,不会转义大于char的字符。然而,似乎没有逃脱的问题。
out = new FileOutputStream("foo.xml");
XMLOutputFactory factory = XMLOutputFactory.newInstance();
XMLStreamWriter writer = factory.createXMLStreamWriter(out);
writer.writeStartDocument();
writer.writeStartElement("foo");
writer.writeAttribute("test", "<foo>");
writer.writeEndElement();
writer.writeEndDocument();
writer.flush();
writer.close();
out.close();
输出(仅相关)是:
<foo test="<foo>"
我也试过使用writeCharacters方法 - 结果相同。这是一个错误还是意图?有没有解决方法? (通过
手动替换&gt ;.replaceAll(">", ">");
导致'&amp;'逃脱了。
感谢您提前提供任何帮助。
答案 0 :(得分:7)
基本上,这是因为你不需要来逃避>
。它已经做对了。