使用 Java 和 XML DOM 解析 XML

问题描述 投票:0回答:1

我正在尝试使用 Java 和 XML DOM 解析 XML 文件。我能够正确读取一些属性,但无法正确读取 XML 中的列表。

例如,有一个标签列表,当我阅读此列表时,我得到一个带有单个节点的 NodeList,我不明白为什么,因为我期望列表中的每个对象都有一个节点。然后,当我打印单个节点时,我会连接所有标签。

如何获取标签列表,其中列表中的每个对象都是标签列表中的一个标签?

这是我的代码

NodeList labelsList = elem.getElementsByTagName("labels");
                
                for (int j = 0; j < labelsList.getLength(); j++) {
                    Element label = (Element) labelsList.item(j);
                    System.out.println(label.getTextContent());
                }

XML 看起来像这样

<item>
    <title>test</title>
    <labels>
        <label>a</labels>
        <label>b</labels>
        <label>c</labels>
    </labels>
</item>

非常感谢!

java xml dom
1个回答
0
投票

我假设 XML 看起来像这样:

<item>
    <title>test</title>
    <labels>
        <label>a</label>
        <label>b</label>
        <label>c</label>
    </labels>
</item>

您有

<label>
<labels>
配对。我猜有拼写错误。

    NodeList labelsList = item.getElementsByTagName("label");

    // Iterate through 'label' elements
    for (int j = 0; j < labelsList.getLength(); j++) {
        Element label = (Element) labelsList.item(j);
        // Get text content of each 'label' element
        String labelText = label.getTextContent();
        System.out.println("Label: " + labelText);

使用此代码,您可以单独检索标签。它们不应该连接起来。

© www.soinside.com 2019 - 2024. All rights reserved.