1

我正在通过 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 得到了空值。为什么?我是 dom4j 的新手,希望有人能帮我解决这个问题。非常感谢

4

1 回答 1

2

您的 XML 无效:

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

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

于 2013-10-18T15:43:12.097 回答