DOM解析XML

    xiaoxiao2022-06-30  54

    public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); paserXml(); } // 解析XML public void paserXml() { // 得到解析xml对象 DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); try { // 得到DocumentBuilder DocumentBuilder db = dbf.newDocumentBuilder(); // 得到Document Document doc = db.parse(getAssets().open("data1.xml")); // 获得根元素 (根节点) Element el = doc.getDocumentElement(); // 得到根元素下所有的子节点 NodeList childNodes = el.getChildNodes(); // 遍历出每一个根元素下的子节点 for (int i = 0; i < childNodes.getLength(); i++) { // 按角表取得相应子节点 Node node = childNodes.item(i); System.out.println("开始"+node.getNodeType()); // 判断节点是不是元素 if (node.getNodeType() == Node.ELEMENT_NODE) { // 每一个子节点下的数据,都封装成一个对象 Student stu = new Student(); // 把节点转成元素 Element element = (Element) node; // 得到当前元素的属性节点 String id = element.getAttribute("id"); stu.setId(Integer.parseInt(id)); // 得到<Student>节点的所有子节点 NodeList childNodes2 = element.getChildNodes(); System.out.println("childNodes2" + childNodes2.getLength()); for (int j = 0; j < childNodes2.getLength(); j++) { Node node2 = childNodes2.item(j); // 判断节点是不是元素 if (node2.getNodeType() == Node.ELEMENT_NODE) { // 把节点转成元素节点 Element me1 = (Element) node2; // 得到标签包含的文本(lee); String value = me1.getFirstChild().getNodeValue(); if ("name".equals(me1.getNodeName())) { stu.setName(value); } else if ("age".equals(me1.getNodeName())) { stu.setAge(Integer.parseInt(value)); } } System.out.println("结束"+node2.getNodeType()); } System.out.println(stu.toString()); } } } catch (ParserConfigurationException e) { System.out.println("ParserConfigurationException"); e.printStackTrace(); } catch (SAXException e) { System.out.println("SAXException"); e.printStackTrace(); } catch (IOException e) { System.out.println("IOException"); e.printStackTrace(); } } }

    javabean

    public class Student { private int id; private String name; private int age; public Student() { super(); // TODO Auto-generated constructor stub } public Student(int id, String name, int age) { super(); this.id = id; this.name = name; this.age = age; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "Student [id=" + id + ", name=" + name + ", age=" + age + "]"; } }
    转载请注明原文地址: https://ju.6miu.com/read-1125817.html

    最新回复(0)