我正在通过dom4j解析xml文件。这是文件的样子:
<bug>
<bug_id>1232131<bug_id>
<long_desc isprivate="0">
<who name="Alan John">alanjohn@whatever.com</who>
<thetext>asdasdasdsadasdasdasd
asdasdad
adasd
adinadasbdk
asdasdad</thetext>
</long_desc>
<long_desc isprivate="0">
<who name="Bob Dan">bdan@whatever.com</who>
<thetext>asdasdasdsadasdasdasd
asdasdadads
adasdojojjtjghjthnjthntjhnjthn
adinadasbdk
asdasdad</thetext>
</long_desc>
</bug>
一个bug标记中有几个long_desc,xml文件中也有几个bug标记。
我使用dom4j打印内容,但我在这里失败了我的代码。
File f = new File("c:/Users/ah/bugs01.xml");
SAXReader reader = new SAXReader();
Document doc = reader.read(f);
Element root = doc.getRootElement();
Element foo;
for (Iterator i = root.elementIterator("bug"); i.hasNext();) {
foo = (Element) i.next();
System.out.println("Text" + foo.elementText("thetext"));
}
但是每个println我都是null。为什么?我是dom4j的新手,我希望有人可以帮我解决这个问题。非常感谢
答案 0 :(得分:2)
您的XML无效:
<thetext>asdasdasdsadasdasdasd
asdasdadads
adasdojojjtjghjthnjthntjhnjthn
adinadasbdk
asdasdad</text>
具有不同的开始(<thetext>
)和结束(</text>
)标记。此外,thetext
是long_desc
的孩子,而不是bug
。