[英]Stop StAX parser converting special characters in exported WebLogic JMS XML file
我有一個XML消息的JMS隊列文件,該文件通過WebLogic 11G導出。
在此文件中,有各種特殊字符,例如< > "
< > "
我編寫了一個stAX解析器來從該文件中提取特定消息,但是作為解析的一部分,特殊字符會自動轉換(例如<
轉換為<
)。
我需要將縮減的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元素中的一個包含: "A bit of text"
當我在調試模式下運行時,事件/數據已被轉換為"A bit of text"
任何幫助將不勝感激。
謝謝。
XML解析器將始終以這種方式“擴展”內置的實體和字符引用。 在編寫XML時,應使用一個與之相反的庫,即將特殊字符轉換回實體/字符引用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.