通过dom4j解析xml文件

时间:2013-10-18 15:38:15

标签: java xml dom4j

我正在通过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的新手,我希望有人可以帮我解决这个问题。非常感谢

1 个答案:

答案 0 :(得分:2)

您的XML无效:

<thetext>asdasdasdsadasdasdasd
asdasdadads
adasdojojjtjghjthnjthntjhnjthn
adinadasbdk
asdasdad</text>

具有不同的开始(<thetext>)和结束(</text>)标记。此外,thetextlong_desc的孩子,而不是bug