【发布时间】:2015-10-20 18:14:07
【问题描述】:
我有一个 XML 格式的消息 JMS 队列文件,通过 WebLogic 11G 导出。
在这个文件中有各种特殊字符,例如< > "
我编写了一个 stAX 解析器来从该文件中提取特定消息,但作为解析的一部分,特殊字符会自动转换(例如,&lt; 转换为 <)。
我需要将我删减的 XML 文件重新导入到 WebLogic 中的另一个 JMS 队列中,但除非特殊字符采用其原始格式,否则它不会导入。
有没有办法做到这一点而无需事后手动转换?
File inFile = new File(...);
XMLInputFactory inputFactory = XMLInputFactory.newInstance();
inputFactory.setProperty(XMLInputFactory.IS_COALESCING, true);
XMLEventReader eventReader = inputFactory.createXMLEventReader(new FileInputStream(inFile));
while (eventReader.hasNext()) {
XMLEvent event = eventReader.nextEvent();
if (event.isCharacters()) {
System.out.println("Chars: " + event.asCharacters().getData());
}
}
如果其中一个 XML 元素包含:&quot;A bit of text&quot;,当我在调试模式下运行时,事件/数据已经转换为 "A bit of text"
任何帮助将不胜感激。
谢谢。
【问题讨论】:
标签: java xml weblogic-10.x stax