程序员人生 网站导航

Dom生成Xml和解析Xml

栏目:互联网时间:2014-11-15 04:41:31

xml这类文件格式在很多时候都是很合适我们用来存取数据的,所以利用程序来生成xml文件和解析xml文件就显得比较重要了。在dom中是把每个元素都看作是1个节点Node的,所有页面上的属性、元素等都是继承自Node的,所以当获得到的是1个Node,而你知道它实际的类型并需要使用的时候便可能会需要进行类型转换了。

Element root = document.getDocumentElement();//获得根节点

下面是代码:

 

生成xml:

Java代码
 收藏代码
  1. public void geneXmlByDom() throws Exception {  
  2.         //step1:取得1个DocumentBuilderFactory  
  3.         DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();  
  4.         //step2:取得1个DocumentBuilder  
  5.         DocumentBuilder db = factory.newDocumentBuilder();  
  6.         //step3:新建1个Document对象  
  7.         Document document = db.newDocument();  
  8.         //step4:创建1个根节点  
  9.         Element rootElement = document.createElement("Persons");  
  10.         for (int i=0;i<5;i++) {  
  11.             //step5:创建1个节点  
  12.             Element person = document.createElement("person");  
  13.             //step6:为该节点设定属性  
  14.             person.setAttribute("id""id_"+i);  
  15.             Element name = document.createElement("name");  
  16.             //为节点设定文本内容  
  17.             name.setTextContent("name_"+i);  
  18.             Element address = document.createElement("address");  
  19.             address.setTextContent("address_"+i);  
  20.             Element email = document.createElement("email");  
  21.             email.setTextContent("email_"+i);  
  22.             person.appendChild(name);  
  23.             person.appendChild(address);  
  24.             person.appendChild(email);  
  25.             //step7:为某1元素节点设立子节点  
  26.             rootElement.appendChild(person);  
  27.         }  
  28.         //step8:把刚刚建立的根节点添加到document对象中  
  29.         document.appendChild(rootElement);  
  30.         //step9:取得1个TransformerFactory对象  
  31.         TransformerFactory transformerFactory = TransformerFactory.newInstance();  
  32.         //step10:取得1个Transformer对象  
  33.         Transformer transformer = transformerFactory.newTransformer();  
  34.         //step11:把document对象用1个DOMSource对象包装起来  
  35.         Source xmlSource = new DOMSource(document);  
  36.         //step12:建立1个存储目标对象  
  37.         Result outputTarget = new StreamResult(new File("persons.xml"));  
  38.         //step13:生成相应的xml文件  
  39.         transformer.transform(xmlSource, outputTarget);  
  40.     }  

 

 生成的xml文件是这个模样

Xml代码
 收藏代码
  1. <?xml version="1.0" encoding="UTF⑻" standalone="no"?>  
  2. <Persons>  
  3.     <person id="id_0">  
  4.         <name>name_0</name>  
  5.         <address>address_0</address>  
  6.         <email>email_0</email>  
  7.     </person>  
  8.     <person id="id_1">  
  9.         <name>name_1</name>  
  10.         <address>address_1</address>  
  11.         <email>email_1</email>  
  12.     </person>  
  13.     <person id="id_2">  
  14.         <name>name_2</name>  
  15.         <address>address_2</address>  
  16.         <email>email_2</email>  
  17.     </person>  
  18.     
------分隔线----------------------------
------分隔线----------------------------

最新技术推荐