<?xml version="1.0" encoding="UTF-8"?> <!-- 说明是xml文件,文件的版本和字符编码 --> <root version="2.0"><!-- 定义文档的根元素并设置version属性 --> <book id="1"><!-- 定义文档的元素,id 是属性,属性可以设置为任意词--> <name>水浒传</name> <price>12.6</price> <miaoshu><![CDATA[''><$&#]]></miaoshu><!-- CDATA是xml解析器当作普通文本,所以任何符号都不会被当做标记字符 --> </book> </root> Xml的实体引用 字符 实体引用 < < ‘ ' > > “ " & & Dom4j操作xml文档 创建xml文档 //创建xml文档对象doc Document doc=DocumentHelper.createDocument(); //使用DocumentFactory创建xml文档对象 //DocumentFactory factory=DocumentFactory.getInstance(); //Document docc=factory.createDocument(); //创建普通节点 Element root=DocumentHelper.createElement("root"); //将root普通节点设置为根节点 doc.setRootElement(root); //给节点添加注释 root.addComment("根节点"); //给节点添加属性 root.addAttribute("version", "2.0"); //添加子节点,获取子节点或添加子节点 Element book=root.addElement("book"); book.addAttribute("id","1"); //添加节点内容 book.setText("图书"); Element book2=root.addElement("book"); book2.addAttribute("id", "1"); //添加CDATA内容 book2.addCDATA("图书2"); //设置输出路径 String xmlpath="D:\Users\Administrator\workspace\HelloWorld\WebContent\WEB-INF\two.xml"; //设置输出格式 OutputFormat format=new OutputFormat(); format.setEncoding("GBK"); //无格式输出文件 //XMLWriter write=new XMLWriter(new FileWriter(xmlpath)); //有格式输出 XMLWriter write=new XMLWriter(new FileWriter(xmlpath),format); write.write(doc); write.close(); 读取、修改、删除节点xml文档 //读取xml文档 String xmlpath="D:\Users\Administrator\workspace\HelloWorld\WebContent\WEB-INF\two.xml"; SAXReader read=new SAXReader(); try { Document doc=read.read(new File(xmlpath)); //获得根节点 Element root=doc.getRootElement(); //根据节点名获取节点 Element book=root.element("book"); book.getText(); //使用selectSingleNode方法查询节点 //使用/来表示节点的归属[@id='1']查询book节点属性id等于1的节点 Element bookr=(Element) root.selectSingleNode("/root/book[@id='1']"); System.out.println(bookr); System.out.println(book.getText()); //selectNodes()方法获取一组节点 //List bookss=root.selectNodes("/root/book"); //删除id为1的book节点 root.remove(bookr); //删除所有book节点 doc.getRootElement().elements("book").clear(); //根据节点名获取节点数组 List books=root.elements("book"); for(int i=0;i<books.size();i++){ Element bookl=(Element)books.get(i); System.out.println(bookl.getText()); } } catch (DocumentException e) { // TODO Auto-generated catch block e.printStackTrace(); }