XML生成与解析

来源:互联网 发布:工资管理系统c语言 编辑:程序博客网 时间:2024/05/21 13:57

package com;

import java.io.File;

import java.io.FileWriter;

import java.io.IOException;

import java.util.List;

import org.dom4j.Document;

import org.dom4j.DocumentException;

import org.dom4j.DocumentHelper;

import org.dom4j.Element;

import org.dom4j.io.OutputFormat;

import org.dom4j.io.SAXReader;

import org.dom4j.io.XMLWriter;

public class Test {

 // *生成xml
 public String createXML()

 {
  try {
   // 生成根节点,并为根节点添加属性和属性值
   Element root = (Element) DocumentHelper.createElement("根节点")
     .addAttribute("id", "编号").addAttribute("name", "名称");


   // 生成子节点,并为子节点添加属性和属性值
   Element childElement = DocumentHelper.createElement("子节点")
     .addAttribute("id", "子节点编号");


   // 为节点添加值
   childElement.addText("子节点值");
   // 将子节点添加到根节点
   root.add(childElement);


   String filename = "jinchun.xml";


   Document responseDoc = DocumentHelper.createDocument(root);


   OutputFormat outputFormat = OutputFormat.createPrettyPrint();


   outputFormat.setEncoding("GB2312");


   XMLWriter xMLWriter = new XMLWriter(new FileWriter(filename),
     outputFormat);


   xMLWriter.write(responseDoc);


   xMLWriter.close();


  } catch (IOException e) { 

 

   e.printStackTrace();


  }


  return "new ok!";


 }

 /** * 解析XML */
 public void parseXML() {


  try {


   SAXReader sAXReader = new SAXReader();


   // 要解析的xml文件
   File file = new File("jinchun2.xml");


   Document document = sAXReader.read(file);


   // 获取根节点
   Element acreen = document.getRootElement();


   // 打印根节点属性
   System.out.println(acreen.attributeValue("id"));
   System.out.println(acreen.attributeValue("name"));


   // 获取子节点
   List<Element> helloments = acreen.elements("子节点");
   for (Element helloment : helloments) {


    // 打印子节点属性
    System.out.println(helloment.attributeValue("id"));
    System.out.println(helloment.getText());


   }
  } catch (DocumentException e) {

 

   e.printStackTrace();


  }
 }

 public static void main(String args[]) {


  Test test = new Test();


  test.createXML();


  test.parseXML();
 }

}
********************

jinchun2.xml文件

<?xml version="1.0" encoding="GB2312"?>

<根节点 id="编号" name="名称">
  <子节点 id="子节点编号1">子节点值</子节点>
   <子节点 id="子节点编号2">子节点值</子节点>
    <子节点 id="子节点编号3">子节点值</子节点>
     <子节点 id="子节点编号4">子节点值</子节点>
      <子节点 id="子节点编号5">子节点值</子节点>
       <子节点 id="子节点编号6">子节点值</子节点>
</根节点>

原创粉丝点击