xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
package  editXML;
import  java.io.File;
import  java.io.FileOutputStream;
import  java.io.PrintWriter;
 
import  javax.xml.parsers.DocumentBuilder;
import  javax.xml.parsers.DocumentBuilderFactory;
import  javax.xml.transform.OutputKeys;
import  javax.xml.transform.Transformer;
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;
 
public  class  w3c_Xml {
     
     static  DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
     static  DocumentBuilder builder = null ;
     
  public  static  void  readXML() {
   try  {
       builder = factory .newDocumentBuilder();  
       Document document = builder.parse( new  File( "E:\\testFiles\\test.xml" ));
       Element rootElement = document.getDocumentElement();
 
       NodeList list = rootElement.getElementsByTagName( "Header" );
       Element element = (Element) list.item( 0 );
       System.out.println(element.getChildNodes().item( 0 ).getNodeValue());
 
   } catch  (Exception e) {
       System.out.println( "exception:"  + e.getMessage());
   }
  }
  
  public  static  void  writeXML(Document document,String filename)
  {
      try  {
          builder = factory .newDocumentBuilder();  
          //Document document = builder.parse(new File("E:\\testFiles\\test.xml"));
          document.normalize();
          
          /** 将document中的内容写入文件中 */
          TransformerFactory tFactory = TransformerFactory.newInstance();
          Transformer transformer = tFactory.newTransformer();
          transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8" );
          transformer.setOutputProperty(OutputKeys.INDENT, "yes" );
          //编码
          DOMSource source = new  DOMSource(document);
          PrintWriter pw = new  PrintWriter( new  FileOutputStream(filename));
          StreamResult result = new  StreamResult(pw);
          transformer.transform(source, result);
      } catch  (Exception e) {
             e.printStackTrace();
         }
      
  }
  
  public  static  void  updateXML()
  {
      try  {
         builder = factory .newDocumentBuilder();
         Document document = builder.parse( new  File( "E:\\testFiles\\test.xml" ));
         Node root = document.getDocumentElement();
         /**如果root有子元素*/
         if (root.hasChildNodes())
         {
             NodeList ftpnodes = root.getChildNodes();
             /**循环取得ftpnodes所有节点*/
             for ( int  i= 0 ;i<ftpnodes.getLength();i++)
             {
                 Node ftpList = ftpnodes.item(i);
                 System.out.println(ftpList.getTextContent());
             }
             for ( int  i= 0 ;i<ftpnodes.getLength();i++)
             {
                 Node ftpList = ftpnodes.item(i);
                 ftpList.setTextContent(ftpList.getTextContent()+ " update" );
             }
         }
         writeXML(document, "E:\\testFiles\\test2.xml" );
         
      } catch  (Exception e) {
         e.printStackTrace();
     
  }
  
  
  public  static  void  main(String[] args)
  {
      //read
      readXML();
      //write
      //writeXML(document,"E:\\testFiles\\test.xml");
      //update
      updateXML();
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值