无法从 XML 获取带有 JDOM 的子属性

我试图获取示例XML文件中每个人的姓名,但我获取的是null值而不是他们的姓名。


爪哇代码:


package testjdom;


import java.io.IOException;

import java.util.List;

import org.jdom2.Document;

import org.jdom2.Element;

import org.jdom2.JDOMException;

import org.jdom2.input.SAXBuilder;


public class TestJDOM {


    public static void main(String[] args) throws

            JDOMException,

            IOException {


        SAXBuilder jdomBuilder

                = new SAXBuilder();

        Document jdomDocument

                = jdomBuilder.build("persons.xml");


        Element jdomRoot = jdomDocument.getRootElement();


        List<Element> children = jdomRoot.getChildren();

        for (Element child : children) {

            System.out.println(child.getAttributeValue("name"));

        }

    }

}

XML:


<?xml version="1.0" encoding="UTF-8"?>

<persons>

  <person>

    <id>1</id>

    <name>The Best</name>

    <email>thenextbigthing@gmail.com</email>

    <birthDate>1981-11-23</birthDate>

  </person>

  <person>

    <id>2</id>

    <name>Andy Jr.</name>

    <email>usa@gmail.com</email>

    <birthDate>1982-12-01</birthDate>

  </person>

  <person>

    <id>3</id>

    <name>JohnDoe</name>

    <email>gameover@gmail.com</email>

    <birthDate>1990-01-02</birthDate>

  </person>

  <person>

    <id>4</id>

    <name>SomeOne</name>

    <email>rucksack@gmail.com</email>

    <birthDate>1988-01-22</birthDate>

  </person>

  <person>

    <id>5</id>

    <name>Mr. Mxyzptlk</name>

    <email>bigman@hotmail.com</email>

    <birthDate>1977-08-12</birthDate>

  </person>

</persons>

我怎样才能得到每个名字的真正价值?


最终我想从 XML 中获取每个人的四个值。我有一个名为 Person 的类,它具有与 XML 文件中的人员相同的属性、id、名称等。我想从“Person”类创建新对象,并使用XML 中的数据。当我创建一个新对象并使用我从 XML 获得的值成功设置其属性时,我想将该对象添加到 ArrayList 然后对其余人员重复相同的过程。


尚方宝剑之说
浏览 137回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java