我正在尝试使用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字符。 我的问题是,引入这个问题的可能问题是什么?
为了您的信息,具有相同代码的此应用程序在OAS中使用JDK1.4,现在我正在使用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]
答案 0 :(得分:0)
我认为&name;名称文件&#39;在你的代码片段中是一个字符串!以下对我来说非常适合。
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
}