JavaEE XML的读写(利用JDom对XML文件进行读写)

1.有关XML的写

利用JDom2包,JDom2这个包中,至少引入org.jdom2.*;如果要进行XML文件的写出,则要进行导入org.jdom2.output.*;

package com.littlepage.test1;

import java.io.*;
import org.jdom2.*;
import org.jdom2.output.*;

public class Test3 {
    public static void main(String[] args) {
        try {
            Element rootElement = new Element("rootElement");
            Document document = new Document(rootElement);
            rootElement.addContent(new Element("student1").addContent(new Element("name").addContent("Jack")).setAttribute("type","transfer student"));
            rootElement.addContent(new Element("student1").addContent(new Element("name").addContent("Nancy")));
            rootElement.addContent(new Element("student1").addContent(new Element("name").addContent("Lucy")));
            XMLOutputter xop = new XMLOutputter();
            //设置间距
            XMLOutputter out=new XMLOutputter();
            Format format=out.getFormat();
            format.setEncoding("GB2312");
            format.setIndent("\n\t");
            out.setFormat(format);
            xop.output(document, new FileWriter("student.xml"));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

 

XML文件写入结果

<?xml version="1.0" encoding="UTF-8"?>
<rootElement>
    <student1 type="transfer student">
        <name>Jack</name>
    </student1>
    <student1>
        <name>Nancy</name>
    </student1>
    <student1>
        <name>Lucy</name>
    </student1>
</rootElement>

 

 

2.有关XML文件的读

利用SAXBuilder,SAXBuilder在org.xml.input.*;中存在方法SAXBuilder,SAXBuilder是进行XML文件读入的一个类

 

//递归打印XML的document
public class Test4 {
    public static void main(String[] args) {
        try{
            Document document=new SAXBuilder().build("MyXML.xml");
            Element rootElement=document.getRootElement();
            recursionXML(rootElement);
        }catch(IOException|JDOMException e){
            e.printStackTrace();
        }
        
    }
    /**
     * recursion XML,for print the root element
     * @param element
     */
    public static void recursionXML(Element element){
        System.out.println(element.getName()+":"+element.getText());
        if(!element.getChildren().isEmpty()){
            List<Element> li=element.getChildren();
            for (Element element2 : li) {
                recursionXML(element2);
            }
        }
    }
   /
}
posted @ 2019-03-07 21:14  SteveYu  阅读(316)  评论(0编辑  收藏  举报