欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

DOM4J生成、解析XML实例,dom4j解析xml实例,import java.

来源: javaer 分享于  点击 28777 次 点评:242

DOM4J生成、解析XML实例,dom4j解析xml实例,import java.


import java.io.File;  import java.io.FileWriter;  import java.io.IOException;  import java.util.Iterator;  import org.dom4j.Attribute;  import org.dom4j.Document;  import org.dom4j.DocumentException;  import org.dom4j.DocumentHelper;  import org.dom4j.Element;  import org.dom4j.io.SAXReader;  import org.dom4j.io.XMLWriter;  /**  *  * dom4j生成与解析XML文档  * */  public classDom4jDemo {      /**      * 利用dom4j进行xml文档的写入操作      */      public void createXml(File file) {          // XML 声明 <?xmlversion="1.0" encoding="UTF-8"?> 自动添加到 XML文档中          // 使用DocumentHelper类创建文档实例(生成 XML文档节点的 dom4jAPI工厂类)          Document document =DocumentHelper.createDocument();          // 使用addElement()方法创建根元素employees(用于向 XML 文档中增加元素)          Element root =document.addElement("employees");          // 在根元素中使用 addComment()方法添加注释"AnXML Note"          root.addComment("An XMLNote");          // 在根元素中使用addProcessingInstruction()方法增加一个处理指令          root.addProcessingInstruction("target","text");          // 在根元素中使用 addElement()方法增加employee元素。          Element empElem =root.addElement("employee");          // 使用 addAttribute()方法向employee元素添加id和name属性          empElem.addAttribute("id","0001");          empElem.addAttribute("name","wanglp");          // 向employee元素中添加sex元素          Element sexElem =empElem.addElement("sex");          // 使用setText()方法设置sex元素的文本          sexElem.setText("m");          // 在employee元素中增加age元素 并设置该元素的文本。          Element ageElem =empElem.addElement("age");          ageElem.setText("25");          // 在根元素中使用 addElement()方法增加employee元素。          Element emp2Elem =root.addElement("employee");          // 使用 addAttribute()方法向employee元素添加id和name属性          emp2Elem.addAttribute("id","0002");          emp2Elem.addAttribute("name","fox");          // 向employee元素中添加sex元素          Element sex2Elem =emp2Elem.addElement("sex");          // 使用setText()方法设置sex元素的文本          sex2Elem.setText("f");          // 在employee元素中增加age元素 并设置该元素的文本。          Element age2Elem =emp2Elem.addElement("age");          age2Elem.setText("24");          // 可以使用 addDocType()方法添加文档类型说明。          //document.addDocType("employees", null,"file://E:/Dtds/dom4j.dtd");          // 这样就向 XML 文档中增加文档类型说明:          // <!DOCTYPE employees SYSTEM"file://E:/Dtds/dom4j.dtd">          // 如果文档要使用文档类型定义(DTD)文档验证则必须有Doctype。          try {              XMLWriter output = newXMLWriter(new FileWriter(file));              output.write(document);              output.close();          } catch (IOException e) {              System.out.println(e.getMessage());          }      }      /**      * 利用dom4j进行xml文档的读取操作      */      public void parserXml(File file) {          Document document = null;          // 使用 SAXReader 解析 XML 文档catalog.xml:          SAXReader saxReader = new SAXReader();          try {              document = saxReader.read(file);          } catch (DocumentException e) {              e.printStackTrace();          }          // 将字符串转为XML          // document = DocumentHelper.parseText(fileString);          // 获取根节点          Element root =document.getRootElement();          // 打印节点名称          System.out.println("<" +root.getName() + ">");          // 获取根节点下的子节点遍历          Iterator<?> iter =root.elementIterator("employee");          // 遍历employee节点          while (iter.hasNext()) {              // 获取当前子节点              Element empEle = (Element)iter.next();              System.out.println("<"+ empEle.getName() + ">");              // 获取当前子节点的属性遍历              Iterator<?> attrList = empEle.attributeIterator();              while (attrList.hasNext()) {                  Attribute attr = (Attribute)attrList.next();                 System.out.println(attr.getName() + "=" + attr.getValue());              }              // 遍历employee节点下所有子节点              Iterator<?> eleIte =empEle.elementIterator();              while (eleIte.hasNext()) {                  Element ele = (Element)eleIte.next();                 System.out.println("<" + ele.getName() + ">" +ele.getTextTrim());              }              // 获取employee节点下的子节点sex值              // String sex =empEle.elementTextTrim("sex");              //System.out.println("sex:" + sex);          }          System.out.println("</" +root.getName() + ">");      }  
     public static void main(String[] args) {              Dom4jDemo dom4j = new Dom4jDemo();              File file = newFile("e:/dom4j.xml");              // dom4j.createXml(file);              dom4j.parserXml(file);          }      }  
相关栏目:

用户点评