读取 XML 文件(解组)

使用以下内容读取名为 UserDetails.xml 的 XML 文件

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<user>
    <name>Jon Skeet</name>
    <userID>8884321</userID>
</user>

我们需要一个名为 User.java 的 POJO 类,如下所示

import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement
public class User {

    private long userID;
    private String name;

    // getters and setters
}

这里我们根据 XML 节点创建了变量和类名。要映射它们,我们在类上使用注释 XmlRootElement

public class XMLReader {
    public static void main(String[] args) {
        try {
            User user = JAXB.unmarshal(new File("UserDetails.xml"), User.class);
            System.out.println(user.getName());   // prints Jon Skeet
            System.out.println(user.getUserID()); // prints 8884321
        } catch (Exception e) {
            System.err.println("Exception occurred while reading the XML!");
        }
    }
}

这里 unmarshal() 方法用于解析 XML 文件。它将 XML 文件名和类类型作为两个参数。然后我们可以使用对象的 getter 方法来打印数据。