小编ely*_*yan的帖子

StAX逃逸大于(>)

我在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();
Run Code Online (Sandbox Code Playgroud)

输出(仅相关)是这样的:

<foo test="&lt;foo>"
Run Code Online (Sandbox Code Playgroud)

我也试过使用writeCharacters方法 - 结果相同.这是一个错误还是意图?有没有解决方法?(手动更换>

replaceAll(">", "&gt;");
Run Code Online (Sandbox Code Playgroud)

导致'&'自行逃脱.

在此先感谢您的帮助.

java xml stax

2
推荐指数
1
解决办法
1220
查看次数

标签 统计

java ×1

stax ×1

xml ×1