首页 > 代码库 > 手动添加arraylist注解类(Contact联系人对象)
手动添加arraylist注解类(Contact联系人对象)
因为在Java核心库不支持arraylist xml直接注解,这里可以自己写个小工具类
Contact.java:
package com.newer.xml;import java.util.ArrayList;import org.simpleframework.xml.Attribute;import org.simpleframework.xml.Element;import org.simpleframework.xml.ElementList;import org.simpleframework.xml.Root;// 根节点@Root(name = "person")public class Contact { @Attribute int id; @Element String name; @ElementList(inline = true, entry = "phone", required = false) ArrayList<String> phoneList = new ArrayList<>(); public Contact() { } public Contact(int id, String name) { super(); this.id = id; this.name = name; } @Override public String toString() { return "Contact [id=" + id + ", name=" + name + ", phoneList=" + phoneList + "]"; }}
工具列ContactList.java:
package com.newer.xml;import java.util.ArrayList;import org.simpleframework.xml.ElementList;import org.simpleframework.xml.Root;// 注解@Root(name = "contact-list")public class ContactList { // 委托 @ElementList(inline = true) ArrayList<Contact> contacts = new ArrayList<>(); public void add(Contact c) { contacts.add(c); } public Contact get(int i) { return contacts.get(i); }}
运行的开始Demo.java:
注意required属性设置false说明当前属性是可空的
这里先写如,然后注释,再读取,当然可以仿照案例直接写在控制台方便查看效果:
package com.newer.xml;import java.io.File;import java.util.ArrayList;import org.simpleframework.xml.core.Persister;public class Demo { public static void main(String[] args) { Persister pr = new Persister(); try { ContactList list = pr.read(ContactList.class, new File("c.xml")); for (Contact c : list.contacts) { System.out.println(c); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } // Contact c1 = new Contact(1, "alice");// c1.phoneList.add("131");// c1.phoneList.add("139");// // Contact c2 = new Contact(2, "bob");// Contact c3 = new Contact(3, "jack");// c3.phoneList.add("1");// c3.phoneList.add("2");// c3.phoneList.add("3");// c3.phoneList.add("4");// // ContactList list = new ContactList();// list.add(c1);// list.add(c2);// list.add(c3);// // // Persister pw = new Persister();// // try {// pw.write(list, new File("c.xml"));// // } catch (Exception e) {// e.printStackTrace();// } }}
手动添加arraylist注解类(Contact联系人对象)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。