java中使用xml二

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import java.util.Iterator;
import java.util.List;

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;

/** 
 *  
 * @author hongliang.dinghl 
 * Dom4j 生成XML文档与解析XML文档 
 */
public class Dom4jDemo {

 public static void main(String[]a){
  Dom4jDemo dom=new Dom4jDemo();
  dom.createXml("4.xml");
  dom.parserXml("4.xml");
 }
 public void createXml(String fileName) {
  Document document = DocumentHelper.createDocument();
  Element employees = document.addElement("employees");
  Element employee = employees.addElement("employee");
  Element name = employee.addElement("name");
  name.setText("ddvip");
  Element sex = employee.addElement("sex");
  sex.setText("m");
  Element age = employee.addElement("age");
  age.setText("29");
  try {
   Writer fileWriter = new FileWriter(fileName);
   XMLWriter xmlWriter = new XMLWriter(fileWriter);
   xmlWriter.write(document);
   xmlWriter.close();
  } catch (IOException e) {

   System.out.println(e.getMessage());
  }

 }

 public void parserXml(String fileName) {
  File inputXml = new File(fileName);
  SAXReader saxReader = new SAXReader();
  try {
   Document document = saxReader.read(inputXml);
   Element employees = document.getRootElement();
   List list=employees.elements("employee");
   for(int i=0;i<list.size();i++){
    Element e=(Element)list.get(i);
    List childlist=e.elements();
    for(int j=0;j<childlist.size();j++){
     Element node=(Element)childlist.get(j);
     System.out.println(node.getName()+":"+node.getText());
    }
   }
  } catch (DocumentException e) {
   System.out.println(e.getMessage());
  }
  System.out.println("dom4j parserXml");
 }
}

 

 


import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;


public class DOMTest {

 private Document document;
 private String fileName;

 public void init() {
  try {
   DocumentBuilderFactory factory = DocumentBuilderFactory
     .newInstance();
   DocumentBuilder builder = factory.newDocumentBuilder();
   this.document = builder.newDocument();
  } catch (ParserConfigurationException e) {
   System.out.println(e.getMessage());
  }
 }

 public void createXml(String fileName) {
  Element root = this.document.createElement("employees");
  this.document.appendChild(root);
  Element employee = this.document.createElement("employee");
  employee.setAttribute("id", "1001");
  Element name = this.document.createElement("name");
  name.appendChild(this.document.createTextNode("丁宏亮"));
  employee.appendChild(name);
  Element sex = this.document.createElement("sex");
  sex.appendChild(this.document.createTextNode("m"));
  employee.appendChild(sex);
  Element age = this.document.createElement("age");
  age.appendChild(this.document.createTextNode("30"));
  employee.appendChild(age);
  root.appendChild(employee);
  TransformerFactory tf = TransformerFactory.newInstance();
  try {
   Transformer transformer = tf.newTransformer();
   DOMSource source = new DOMSource(document);
   transformer.setOutputProperty(OutputKeys.ENCODING, "gb2312");
   transformer.setOutputProperty(OutputKeys.INDENT, "yes");
   PrintWriter pw = new PrintWriter(new FileOutputStream(fileName));
   StreamResult result = new StreamResult(pw);
   transformer.transform(source, result);
   System.out.println("生成XML文件成功!");
  } catch (TransformerConfigurationException e) {
   System.out.println(e.getMessage());
  } catch (IllegalArgumentException e) {
   System.out.println(e.getMessage());
  } catch (FileNotFoundException e) {
   System.out.println(e.getMessage());
  } catch (TransformerException e) {
   System.out.println(e.getMessage());
  }
 }

 public void parserXml(String fileName) {
  try {
   DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
   DocumentBuilder db = dbf.newDocumentBuilder();
   Document document = db.parse(fileName);
   NodeList employees = document.getChildNodes();
   for (int i = 0; i < employees.getLength(); i++) {
    Node employee = employees.item(i);
    NodeList employeeInfo = employee.getChildNodes();
    for (int j = 0; j < employeeInfo.getLength(); j++) {
     Node node = employeeInfo.item(j);
     NodeList employeeMeta = node.getChildNodes();
     for (int k = 0; k < employeeMeta.getLength(); k++) {
      System.out.println(employeeMeta.item(k).getNodeName()
        + ":" + employeeMeta.item(k).getTextContent());
     }
    }
   }
   System.out.println("解析完毕");
  } catch (FileNotFoundException e) {
   System.out.println(e.getMessage());
  } catch (ParserConfigurationException e) {
   System.out.println(e.getMessage());
  } catch (SAXException e) {
   System.out.println(e.getMessage());
  } catch (IOException e) {
   System.out.println(e.getMessage());
  }
 }
 

 public static void main(String[] args) {
  DOMTest dom=new DOMTest();
 
  dom.init();
  dom.createXml("1.xml");
 }

}

 

 

 


import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;

import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import org.jdom.output.XMLOutputter;


public class JDOMTest1 {

 /**
  * @param args
  */
 public static void main(String[] args) {
 
  JDOMTest1 jdom=new JDOMTest1();
  jdom.create();
  jdom.show();
 }
 
 public void create(){
  Document document=new Document();
  Element root=new Element("students");
  document.setRootElement(root);
 
  Element student=new Element("student");
  student.setAttribute("id", "1001");
  root.addContent(student);
 
  Element name=new Element("name");
  name.addContent("zhangsan");
  student.addContent(name);
 
  Element age=new Element("age");
  age.addContent("18");
  student.addContent(age);
 
  Element sex=new Element("sex");
  sex.addContent("male");
  student.addContent(sex);
  XMLOutputter out=new XMLOutputter();
  try {
   out.output(document, new FileOutputStream("3.xml"));
  } catch (FileNotFoundException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 
 }
 
 public void show(){
  SAXBuilder builder=new SAXBuilder(false);
  try {
   Document document=builder.build("3.xml");
   Element root=document.getRootElement();
   List list=root.getChildren("student");
   for(int i=0;i<list.size();i++){
    Element student=(Element) list.get(i);
    System.out.println(student.getAttributeValue("id"));
    System.out.println(student.getChildText("name"));
    System.out.println(student.getChildText("age"));
    System.out.println(student.getChildText("sex"));
   }
  } catch (JDOMException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 
 }

}

 

 


import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;

import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import org.jdom.output.XMLOutputter;

 


public class JDOMTest {

 public void createXml(String fileName) {  
  Document document;
  Element root;
  root = new Element("employees");
  document = new Document(root);
  Element employee = new Element("employee");
  root.addContent(employee);
  Element name = new Element("name");
  name.setText("ddvip");
  employee.addContent(name);
  Element sex = new Element("sex");
  sex.setText("m");
  employee.addContent(sex);
  Element age = new Element("age");
  age.setText("23");
  employee.addContent(age);
  XMLOutputter XMLOut = new XMLOutputter();
  try {
   XMLOut.output(document, new FileOutputStream(fileName));
  } catch (FileNotFoundException e) {
   e.printStackTrace();
  } catch (IOException e) {
   e.printStackTrace();
  }

 }

 public void parserXml(String fileName) {
  SAXBuilder builder = new SAXBuilder(false);//表示使用默认的解析器
  try {
   Document document = builder.build(fileName);
   Element employees = document.getRootElement();
   List employeeList = employees.getChildren("employee");
   for (int i = 0; i < employeeList.size(); i++) {
    Element employee = (Element) employeeList.get(i);
    List employeeInfo = employee.getChildren();
    for (int j = 0; j < employeeInfo.size(); j++) {
     System.out.println(((Element) employeeInfo.get(j))
       .getName()
       + ":" + ((Element) employeeInfo.get(j)).getValue());

    }
   }
  } catch (JDOMException e) {

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

   e.printStackTrace();
  }

 }  
}  

 

 

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;


public class Test1 {

 static DocumentBuilderFactory factory;
 static DocumentBuilder builder;
 public static void main(String[] args) {
 
  factory=DocumentBuilderFactory.newInstance();
  try {
   builder=factory.newDocumentBuilder();
   Document document=builder.newDocument();
   Element root=document.createElement("students");
   document.appendChild(root);
   Element student=document.createElement("student");
   student.setAttribute("id", "1001");
   root.appendChild(student);
   Element name=document.createElement("name");
   name.appendChild(document.createTextNode("zhangsan"));
   student.appendChild(name);
  
   Element sex=document.createElement("sex");
   sex.appendChild(document.createTextNode("male"));
   student.appendChild(sex);
  
  
  
   TransformerFactory tfactory=TransformerFactory.newInstance();
   Transformer former=tfactory.newTransformer();
   DOMSource source=new DOMSource(document);
   former.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
   former.setOutputProperty(OutputKeys.INDENT, "yes");
   FileOutputStream fos=new FileOutputStream("2.xml");
   PrintWriter fw=new PrintWriter(fos);
  
   StreamResult sr=new StreamResult(fw);
  
   former.transform(source, sr);
  
  } catch (ParserConfigurationException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (TransformerConfigurationException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (FileNotFoundException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (TransformerException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 
  show();
 
 
 }
 
 public static void show(){
  try {
   Document document=builder.parse("2.xml");
   NodeList list=document.getElementsByTagName("student");
   for(int i=0;i<list.getLength();i++){
    System.out.println("student:");
    Node student=list.item(i);
    NamedNodeMap e=student.getAttributes();
    System.out.println(e.getNamedItem("id"));
    NodeList childlist=student.getChildNodes();
    for(int j=0;j<childlist.getLength();j++){
     Node n=childlist.item(j);
     if(n.getFirstChild()!=null){
      System.out.println(n.getNodeName()+":"+n.getFirstChild().getNodeValue());
     }
    }
   }
  } catch (SAXException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 
 }

}

 

 


1.xml

<?xml version="1.0" encoding="GB2312"?>
<employees>
<employee id="1001">
<name>丁宏亮</name>
<sex>m</sex>
<age>30</age>
</employee>
</employees>
2.xml

<?xml version="1.0" encoding="UTF-8"?>
<students>
<student id="1001">
<name>zhangsan</name>
<sex>male</sex>
</student>
</students>


3.xml

<?xml version="1.0" encoding="UTF-8"?>
<students><student id="1001"><name>zhangsan</name><age>18</age><sex>male</sex></student></students>


4.xml

 

  <?xml version="1.0" encoding="UTF-8" ?>
- <employees>
- <employee>
  <name>ddvip</name>
  <sex>m</sex>
  <age>29</age>
  </employee>
  </employees>

 

 

 


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值