Группа XML-тегов в Java
Когда в документе повторяется одно имя, список узлов содержит больше одного элемента:
<root>
<item>alpha</item>
<item>beta</item>
<item>gamma</item>
</root>
Длина списка и индекс задают цикл обхода:
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;
import javax.xml.parsers.DocumentBuilderFactory;
import java.io.StringReader;
public class Main {
public static void main(String[] args) throws Exception {
String xml = """
<root>
<item>alpha</item>
<item>beta</item>
<item>gamma</item>
</root>
""";
var doc = DocumentBuilderFactory.newInstance()
.newDocumentBuilder()
.parse(new InputSource(new StringReader(xml)));
NodeList items = doc.getElementsByTagName("item");
for (int i = 0; i < items.getLength(); i++) {
Element item = (Element) items.item(i);
System.out.println(item.getTextContent());
}
}
}
Дан следующий XML:
String xml = """
<root>
<name>john</name>
<name>eric</name>
<name>kyle</name>
</root>
""";
Выведите в консоль имя каждого юзера.