java 创建xml和解析xml

import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;

import org.dom4j.Document;
import org.dom4j.DocumentFactory;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;

public class WriterXMLDemo {

 
public static void main(String[] args) {
    Document doc = DocumentFactory.getInstance().createDocument();
        doc.addComment("Create persons.xml");
    // 添加根元素
    Element root = doc.addElement("persons");
   
    // 添加根元素的第一个子元素
    Element rootElem = root.addElement("person");
    //添加第一个子元素的子元素 
    Element bookName = rootElem.addElement("name");
    bookName.addText("aaa");
    Element bookAutor = rootElem.addElement("age");
    bookAutor.addText("20");
   
   //添加属性
   Element rootElem2 = root.addElement("person");
   rootElem2.addAttribute("name", "bbb");
   rootElem2.addAttribute("age", "21");
 
 
   try {
     PrintWriter out = new PrintWriter(new FileWriter("C:/workspace/webproject/WebContent/person.xml"));
     OutputFormat format = OutputFormat.createPrettyPrint();
     format.setEncoding("gb2312");
     XMLWriter xmlOut = new XMLWriter(out, format);
     //输出xml内容
     xmlOut.write(doc);
    
     out.close();
     xmlOut.close();
     System.out.println("=========success=======");
   } catch (IOException e) {
        e.printStackTrace();
    
   }
}

}

 

 

 

 

import java.util.List;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

public class ReaderXMLDemo {
 
public static void main(String[] args) {
    SAXReader xmlReader = new SAXReader();
   try {
    Document doc = xmlReader.read("C:/workspace/webproject/WebContent/person.xml");

    // 得到根元素
    Element myRoot = doc.getRootElement();

    // 得到根元素下所有名字为person的子元素
    List<Element> persons = myRoot.elements("person");

    // 得到第一个人
    Element onePerson = persons.get(0);

    // 得到第一个人下的名称元素
    Element oneName = onePerson.element("name");
    // 得到第一个人的名字值
    String oneNameValue = oneName.getText();
    System.out.println("oneName=====>" + oneNameValue);
   
    Element oneAge = onePerson.element("age");
    String oneAgeValue = oneAge.getText();
    System.out.println("oneAge=====>" + oneAgeValue);
   
    //第二个人
    Element twoPerson = persons.get(1);
    String twoNameValue = twoPerson.attributeValue("name");
    System.out.println(twoNameValue);
    String twoAgeValue = twoPerson.attributeValue("age");
    System.out.println(twoAgeValue);

   } catch (DocumentException e) {
      e.printStackTrace();
   }
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值