我有一个代码片段,可以打印出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文件中计算和打印多个LINES的方法(注意,XML的某些部分有两行以上)?
以下是我目前在我的代码中导入的库:
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
答案 0 :(得分:1)
您确实需要使用enhanced-for循环。考虑一下:
for(Element speech : scene.getChildren("SPEECH")) {
for (Element part : speech.getChildren()) {
System.out.println(part.getName() + " : " + part.getText());
}
}