標籤:
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)