簡體   English   中英

字符串XML中的DomParser獲取空文檔

[英]DomParser from string XML getting null document

我正在嘗試使用domParser解析xml字符串,但是當我嘗試獲取文檔時,它顯示[#document:null],並且其中不包含xml傳遞的數據。

該代碼是這樣的:

Document doc = null;
DOMParser parser = new DOMParser();
logger.debug("Parsing");
InputSource IS = new InputSource(new StringReader(nameFile));            
parser.parse(IS);
doc = parser.getDocument();
NodeList NL = doc.getElementsByTagName("element");

當doc = parser.getDocument()時,問題開始。 它返回[#document = null]。 因此,NodeList找不到我要尋找的元素。 我的XML很大。 它包含大約50K字符。 我的問題是,引入此問題的可能問題是什么?

供您參考,具有相同代碼的該應用程序可在帶有JDK1.4的OAS中運行,現在我將其與JDK 1.6一起轉移到Weblogic 12c。

提前致謝。

更新:很抱歉沒有提到nameFile數據類型。 nameFile是字符串格式的xml數據。

UPDATED2:我嘗試使用簡單的xml,但是沒有運氣。 示例:第一個示例:該字符串沒有空格->

nameFile = "<?xml version='1.0'?><company><staff id='1001'><firstname>yong</firstname><lastname>mook kim</lastname><nickname>mkyong</nickname><salary>100000</salary></staff><staff id='2001'><firstname>low</firstname><lastname>yin fong</lastname><nickname>fong fong</nickname><salary>200000</salary></staff></company>";

第二個例子:

nameFile = "<message>Hello</message>

這些都不起作用。 始終返回[#document:null]

我假設您的代碼段中的“ nameFile”是一個字符串! 以下內容非常適合我。

String nameFile= "<message>HELLO World</message>";
DOMParser parser = new DOMParser();
try {
    parser.parse(new InputSource(new java.io.StringReader(nameFile)));
    Document doc = parser.getDocument();
    String message = doc.getDocumentElement().getTextContent();
    System.out.println(message);
} catch (SAXException e) {
    // handle SAXException 
} catch (IOException e) {
    // handle IOException 
}

暫無
暫無

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

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