迭代器仅获取 JavaFX 中的第一个元素
Iterator only gets first Element in JavaFX
我想知道为什么我的迭代器在从 XML reader
获取列表时只获取第一个元素
我的 XML 文件:
<Genre>
<Name>Horror</Name>
<Name>Action</Name>
<Name>Kinderfilm</Name>
<Name>Komödie</Name>
<Name>Splatter</Name>
</Genre>
我的Java-代码:
List list = rootNode.getChildren("Genre");
System.out.println("Count Genre: " + list.size());
Iterator i = list.iterator();
while (i.hasNext()) {
Element gen = (Element) i.next();
String name = gen.getChildText("Name");
System.out.println("NAME: " + name);
genre.add(name);
}
它只有一个元素(恐怖)
希望有人能帮助我。
打孔
假设rootNode
是你文档的根目录,那么
List list = rootNode.getChildren("Genre");
将return一个包含Genre
节点的大小为1的列表。
迭代此列表当然只会通过 while 主体 运行 一次,gen
指向 Genre
元素。
在此节点上调用 gen.getChildText("Name")
将 return 名为 Name
的第一个子元素的文本内容,returning Horror
.
您可能想做的事情:
Element genre = rootNode.getChild("Genre");
Iterator<Element> names = genre.getChildren("Name").iterator();
while (names.hasNext()) {
String name = names.next().getText();
...
}
我想知道为什么我的迭代器在从 XML reader
获取列表时只获取第一个元素我的 XML 文件:
<Genre>
<Name>Horror</Name>
<Name>Action</Name>
<Name>Kinderfilm</Name>
<Name>Komödie</Name>
<Name>Splatter</Name>
</Genre>
我的Java-代码:
List list = rootNode.getChildren("Genre");
System.out.println("Count Genre: " + list.size());
Iterator i = list.iterator();
while (i.hasNext()) {
Element gen = (Element) i.next();
String name = gen.getChildText("Name");
System.out.println("NAME: " + name);
genre.add(name);
}
它只有一个元素(恐怖)
希望有人能帮助我。 打孔
假设rootNode
是你文档的根目录,那么
List list = rootNode.getChildren("Genre");
将return一个包含Genre
节点的大小为1的列表。
迭代此列表当然只会通过 while 主体 运行 一次,gen
指向 Genre
元素。
在此节点上调用 gen.getChildText("Name")
将 return 名为 Name
的第一个子元素的文本内容,returning Horror
.
您可能想做的事情:
Element genre = rootNode.getChild("Genre");
Iterator<Element> names = genre.getChildren("Name").iterator();
while (names.hasNext()) {
String name = names.next().getText();
...
}