java 解析xml-document

来源:互联网 发布:软件研制总结报告 编辑:程序博客网 时间:2024/06/05 08:35
<?xml version="1.0" encoding="utf-8" ?><persons>    <person>        <name>zs</name>        <age>12</age>        <sex>男</sex>    </person>    <person>        <name>ls</name>        <age>14</age>        <sex>女</sex>    </person>    <person>        <name>ww</name>        <age>11</age>        <sex>男</sex>    </person></persons>

所用xml

import org.w3c.dom.Document;import org.w3c.dom.Element;import org.w3c.dom.Node;import org.w3c.dom.NodeList;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import java.util.ArrayList;import java.util.List;public class Test {    public static void main(String[] args) throws Exception{        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();        DocumentBuilder db = dbf.newDocumentBuilder();        Document d = db.parse(Test.class.getClassLoader().getResourceAsStream("resouce/persons.xml"));        System.out.println(d);        Element root = d.getDocumentElement();        List<Person> pList = new ArrayList<Person>();        NodeList nList = root.getChildNodes();        for (int i = 0;i<nList.getLength();i++){            Node node = nList.item(i);            if(node.getNodeType() == Node.ELEMENT_NODE){                Element element = (Element) node;                String name = element.getElementsByTagName("name").item(0).getTextContent();                String age = element.getElementsByTagName("age").item(0).getTextContent();                String sex = element.getElementsByTagName("sex").item(0).getTextContent();//                NodeList npl = node.getChildNodes();//                String name = null;//                String age = null;//                String sex = null;//                for(int j = 0;j<npl.getLength();j++){//                    Node np = npl.item(j);//                    if (np.getNodeName().equals("name")){//                        name = np.getTextContent();//                    }//                    if (np.getNodeName().equals("age")) {//                        age = np.getTextContent();//                    }//                    if (np.getNodeName().equals("sex")){//                        sex = np.getTextContent();//                    }                pList.add(new Person(name,age,sex));                }            }        for (Person p :pList) {            System.out.println(p.getName()+"   "+p.getAge()+"  "+p.getSex());        }        }    }


原创粉丝点击