簡體   English   中英

停止StAX分析器轉換導出的WebLogic JMS XML文件中的特殊字符

[英]Stop StAX parser converting special characters in exported WebLogic JMS XML file

我有一個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"

任何幫助將不勝感激。

謝謝。

XML解析器將始終以這種方式“擴展”內置的實體和字符引用。 在編寫XML時,應使用一個與之相反的庫,即將特殊字符轉換回實體/字符引用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM