JAVA XML的解析与创建

来源:互联网 发布:中国网络资讯台李学科 编辑:程序博客网 时间:2024/06/07 14:38

//------------------------------xml文件下的东西

<?xml version="1.0" encoding="utf-8"?>
<students>
<student id="1">
    <name>张三</name>
    <sex>男</sex>
</student>

<student id="2">
    <name>李四</name>
    <sex>男</sex>
</student>

<student id="3">
    <name>王五</name>
    <sex>男</sex>
</student>
</students>



//-----------------------------------------------------解析 

public static void read() throws Exception{
        DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
            DocumentBuilder builder=factory.newDocumentBuilder();
            InputStream is=new FileInputStream(new File("student.xml"));
            Document doc=builder.parse(is);
            NodeList nodes=doc.getElementsByTagName("student");
            for (int i = 0; i < nodes.getLength(); i++) {
                Element student=(Element) nodes.item(i);
                String id=student.getAttribute("id");
                Element nameElm=(Element) student.getElementsByTagName("name").item(0);
                String name=nameElm.getTextContent();
                Element sexElm=(Element) student.getElementsByTagName("sex").item(0);
                String sex=sexElm.getTextContent();
                System.out.println("id:"+id+"name:"+name+"sex:"+sex);
            }
    }


//------------------------------------------------XML创建

public static void write() throws Exception{
        DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
        DocumentBuilder builder=factory.newDocumentBuilder();
        Document doc=builder.newDocument();
        Element teachers=doc.createElement("teachers");
        Element teacher=doc.createElement("teacher");
        teacher.setAttribute("id", "1");
        Element name=doc.createElement("name");
        name.setTextContent("李老师");
        Element course=doc.createElement("course");
        course.setTextContent("java");
        teacher.appendChild(course);
        teacher.appendChild(name);
        teachers.appendChild(teacher);
        doc.appendChild(teachers);
        
        TransformerFactory tfactory=TransformerFactory.newInstance();
        Transformer tf=tfactory.newTransformer();
        Source ds=new DOMSource(doc);
        StreamResult r=new StreamResult(new File("teacher.xml"));
        tf.transform(ds, r);
    }




0 0
原创粉丝点击