Dom4J操作

import java.io.*;
import org.dom4j.*;
import org.dom4j.io.*;

public class CreateXMLByDom4J
{
    public static void main(String args[])throws Exception
    {
        //创建一个空的文档对象
        Document doc=DocumentHelper.createDocument();
        
        //创建一个根元素,数值为emps
        Element root=doc.addElement("emps");
        //在root下添加一个元素employee,并在employee下添加name元素
        //设置其属性id为1,并设置name的值为"张飞"
        root.addElement("employee").addAttribute("id","1").addElement("name").addText("张飞");
        root.addElement("employee").addAttribute("id","2").addElement("name").addText("关羽");
        root.addElement("employee").addAttribute("id","3").addElement("name").addText("刘备");
        
        OutputFormat format=OutputFormat.createPrettyPrint();
        XMLWriter w=new XMLWriter(new FileOutputStream("emp.xml"),format);
        w.write(doc);
        w.close();
    }
}
import java.io.*;
import java.util.*;
import org.dom4j.*;
import org.dom4j.io.*;

//删除名字叫Jack的用户
public class DelXMLByDom4J
{
    public static void main(String args[])throws Exception
    {
        SAXReader sax=new SAXReader();
        Document doc=sax.read("user.xml");
        //得到根元素坐标
        Element root=doc.getRootElement();
        
        List nodes=doc.selectNodes("//user");
        for (int i = 0; i
import org.dom4j.*;
import org.dom4j.io.*;
import java.util.*;
import java.io.*;

//将年龄为30的元素中的username设置为张三(说明对中文的操作也没有任何问题)
public class UpdateXMLByDom4J
{
    public static void main(String args[])throws Exception
    {
        //创建SAXReader的对象
        SAXReader sax=new SAXReader();
        //读入xml文件,并将其转换为Document类型
        Document doc=sax.read("user.xml");
        
        //利用XPath技术得到所有user节点
        /**
         * 必须导入jaxen.jar
         */
        List nodes=doc.selectNodes("//user");
        for (int i = 0; i
import org.dom4j.*;
import org.dom4j.io.*;
import java.io.*;

public class AddXMLByDom4J
{
    public static void main(String args[]) throws Exception
    {
        SAXReader sax=new SAXReader();
        Document doc=sax.read("user.xml");
        
        Element root=doc.getRootElement();
        
        Element user=root.addElement("user");
        user.addElement("username").addText("李四");
        
        user.addElement("age").addText("21");
        
        OutputFormat out=OutputFormat.createPrettyPrint();
        XMLWriter writer=new XMLWriter(new FileOutputStream("user.xml"),out);
        writer.write(doc);
        writer.close();
    }
}
import java.io.*;
import java.util.*;
import org.dom4j.*;
import org.dom4j.io.*;

/**
 * 取得最后一个元素的属性id值
 */
public class SelectIDByDom4J
{
    public static void main(String args[])throws Exception
    {
        SAXReader sax=new SAXReader();
        Document doc=sax.read("emp.xml");
        //得到根元素坐标
        Element root=doc.getRootElement();
        //得到所有employee
        List nodes=root.selectNodes("//employee");
        //得到元素个数
        int size=nodes.size();
        //定位到最后一个元素
        Element el=(Element)nodes.get(size-1);
        //得到该元素所有属性集合
        Iterator it=el.attributeIterator();
        //循环遍历
        while(it.hasNext())
        {
            //将集合中包含的元素转换为Attribute类型
            Attribute att=(Attribute)it.next();
            //取出里面的数值
            String value=att.getValue();
            System.out.println (value);
        }
        
    }
}
import org.dom4j.*;
import org.dom4j.io.*;
import java.io.*;
import java.util.*;

public class TestDOM4J
{
    public static void main(String args[])throws Exception
    {
        //得到所有用户信息
        SAXReader sax=new SAXReader();
        Document doc=sax.read("user.xml");
        
        //得到根元素
        Element root=doc.getRootElement();
        //得到所有子元素
        Iterator it=root.elementIterator();
        
        //循环查看每个元素的内容
        
        System.out.println ("用户名\t\t年龄");
        while(it.hasNext())
        {
            Element el=(Element)it.next();
            System.out.println(el.elementText("username")+"\t\t"+el.elementText("age"));
        }
    }
}

链接:https://pan.baidu.com/s/1lDvezym92uQGNPSf6iqyng

提取码:pgh4

你可能感兴趣的:(软件资料,java)