使用 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());
}
}
我有一个代码片段可以打印出 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());
}
}