使用 JDOM 在 XML 中获取多行

Get Multiple Lines in XML with JDOM

我有一个代码片段可以打印出 XML 文档的一部分:

<SPEECH>
<SPEAKER>KENT</SPEAKER>
<LINE>I thought the king had more affected the Duke of</LINE>
<LINE>Albany than Cornwall.</LINE>
</SPEECH>

代码片段:

List<Element> speech = scene.getChildren("SPEECH");
for(int a = 0; a < speech.size(); a++)
    {
        Element speak = speech.get(a);
        System.out.println(speak.getChildren());
        System.out.println("SPEAKER : " + speak.getChildText("SPEAKER"));
        System.out.println("LINE : " + speak.getChildText("LINE")); 
    }

问题是它只打印出 XML 中的第一行。有人可以建议一种方法来计算和打印 XML 文件中的多行(注意,XML 的某些部分有超过两行)吗?

以下是我到目前为止在我的代码中导入的库:

import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;

您确实需要使用增强型 for 循环。考虑一下:

for(Element speech : scene.getChildren("SPEECH")) {
    for (Element part : speech.getChildren()) {
        System.out.println(part.getName() + " : " + part.getText());
    }
}