菜鳥如何學習 XML (java)

來源:互聯網
上載者:User

標籤:

1.讀取XML

 

2.寫入XML

 

3.建立XML

 

4.建立構造XML

 

 

建立新的xml文檔:

 

 1 /構造一個XML解析器 並且建立新的文檔/ 2 1     Document document = null; 3 2         DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); 4 3         try { 5 4             DocumentBuilder builder = factory.newDocumentBuilder(); 6 5             document = builder.newDocument();//建立一個新的XML檔案 7 6             //document = builder.parse(fileName);//解析已存在的XML檔案 8 7         } catch (ParserConfigurationException e) { 9 8             e.printStackTrace();10 9         }

 

將記憶體中的xml輸出到檔案上面:

 1 //將記憶體中的xml,輸出到檔案上面 2         Transformer tf = null; 3         TransformerFactory tff = TransformerFactory.newInstance(); 4         try { 5             tf = tff.newTransformer(); 6             tf.transform(new DOMSource(document), new StreamResult("src/test.xml")); 7  8         } catch (TransformerConfigurationException e) { 9             e.printStackTrace();10         } catch (TransformerException e) {11             e.printStackTrace();12         }

 

構建xml:

 1         Element root = document.createElement("root");//建立根目錄 2          3         Element student = document.createElement("student"); 4          5         student.setAttribute("name", "xiaoming");//設定student 的屬性值 6          7         /*建立student的子項目*/ 8         Element id = document.createElement("id"); 9         Element sex = document.createElement("sex");10         Element age = document.createElement("age");11         12         /*設定元素的文本*/13         id.setTextContent("0001");14         sex.setTextContent("man");15         age.setTextContent("18");16         17         /*將子項目添加到父元素(student)中*/18         student.appendChild(id);19         student.appendChild(sex);20         student.appendChild(age);21         22         root.appendChild(student);//將元素(節點)student 添加到根目錄(root)中去23         document.appendChild(root);//將根目錄添加到文檔中去

 

 

輸出結果:

1 <?xml version="1.0" encoding="UTF-8" standalone="no"?>2 <root>3     <student name="xiaoming">4         <id>0001</id>5         <sex>man</sex>6         <age>18</age>7     </student>8 </root>

 

擷取XML中的資料

 1 <?xml version="1.0" encoding="UTF-8" standalone="no"?><root> 2     <student name="xiaoming"> 3         <id>0001</id> 4         <sex>man</sex> 5         <age>18</age> 6     </student> 7     <student name="xiaozhu"> 8         <id>0002</id> 9         <sex>man</sex>10         <age>20</age>11     </student>12     <student name="xiaohong">13         <id>0003</id>14         <sex>female</sex>15         <age>15</age>16     </student>17 </root>

對XML進行尋找操作

 1 //擷取student中屬性name=xiaoming的所有資訊 2         NodeList list_st =document.getElementsByTagName("student"); 3         /*遍曆所有student的元素*/ 4         for(int i=0;i<list_st.getLength();i++) 5         { 6             Node n =list_st.item(i); 7              8             Element student= (Element)n;//必須強轉為元素才能擷取到設定的屬性,節點擷取不了屬性 9             10             /*找出student中屬性xiaoming的節點*/11             if(student.getAttribute("name").equals("xiaoming"))12             {13                 /*擷取所有標籤中的文本資訊*/14                 String id = student.getElementsByTagName("id").item(0).getTextContent();15                 String sex = student.getElementsByTagName("sex").item(0).getTextContent();16                 String age = student.getElementsByTagName("age").item(0).getTextContent();17                 18                 System.out.println("id:"+id);19                 System.out.println("sex:"+sex);20                 System.out.println("age:"+age);21                 /*輸出:22                  * id:000123                  * sex:man24                  * age:1825                  */26             }27         }

 

菜鳥如何學習 XML (java)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.