、@XmlAttribute を使用、name は属性名です"/> 、@XmlAttribute を使用、name は属性名です">
ホームページ >Java >&#&チュートリアル >Java で XML を Bean インスタンス解析に変換する (純粋なコード)
最近使用した、自作のデモを記録します
ルート要素に @XmlRootElement アノテーションを使用し、name は要素名です
子要素の属性に @XmlElement を使用し、name は要素名です
場合属性があります (例: 557fd2d237e2fd7075bc635fe517b85f)。 @XmlAttribute を使用します。 name は属性名です
xml:
<?xml version="1.0" encoding="UTF-8"?> <employees> <employee> <userId>johnsmith@company.com</userId> <password>abc123_</password> <name>John Smith</name> <age>24</age> <gender>Male</gender> </employee> <employee> <userId>christinechen@company.com</userId> <password>123456</password> <name>Christine Chen</name> <age>27</age> <gender>Female</gender> </employee> </employees>
Employees:
import java.util.List; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "employees") public class Employees { private List<Employee> eList; @XmlElement(name = "employee") public List<Employee> geteList() { return eList; } public void seteList(List<Employee> eList) { this.eList = eList; } }
Employee:
import javax.xml.bind.annotation.XmlElement; public class Employee { private String userId; private String password; private String name; private String age; private String gender; @Override public String toString() { return "Employee [userId=" + userId + ", password=" + password + ", name=" + name + ", age=" + age + ", gender=" + gender + "]"; } @XmlElement(name="userId") public String getUserId() { return userId; } public void setUserId(String userId) { this.userId = userId; } @XmlElement(name="password") public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @XmlElement(name="name") public String getName() { return name; } public void setName(String name) { this.name = name; } @XmlElement(name="age") public String getAge() { return age; } public void setAge(String age) { this.age = age; } @XmlElement(name="gender") public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } }
解析クラス
public static void main(String[] args) throws JAXBException { JAXBContext context = JAXBContext.newInstance(Employees.class); Unmarshaller createUnmarshaller = context.createUnmarshaller(); Object unmarshal = createUnmarshaller.unmarshal( new File("D:/java/workspacedev/JavaTest/xml/employees.xml")); Employees em = (Employees) unmarshal; List<Employee> list = em.geteList(); for (Employee employee : list) { System.out.println(employee); } }
関連する推奨事項:
以上がJava で XML を Bean インスタンス解析に変換する (純粋なコード)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。