老王学jsp之dom解析xml
生活随笔
收集整理的這篇文章主要介紹了
老王学jsp之dom解析xml
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
xml是一種數據的存儲方式,標簽完全由用戶自定義,是一種樹狀的結構,必須完全匹配,比如:
<?xml version="1.0" encoding="GBK" ?> <address> <person><name>老王</name><sex>男</sex><phone>15520080563</phone> </person> <person><name>老大</name><sex>男</sex><phone>15520080563</phone> </person> </address>?
1.xml文檔的讀取(DOM方式)
import java.io.File;import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory;import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NodeList;public class readXmlByDom {/*** @param args*/public static void main(String[] args) throws Exception{// TODO Auto-generated method stubDocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();//新建工廠對象DocumentBuilder builder=factory.newDocumentBuilder();//實例化builder對象Document doc=builder.parse(new File("D:/學習資料/JAVA/軟件/work/xml/src/demo1.xml"));NodeList nl = doc.getElementsByTagName("person") ;for(int x=0;x<nl.getLength();x++){Element e = (Element) nl.item(x) ; // 取出每一個元素System.out.println("姓名:" + e.getElementsByTagName("name").item(0).getFirstChild().getNodeValue()) ;System.out.println("電話:" + e.getElementsByTagName("phone").item(0).getFirstChild().getNodeValue()) ;}}}輸出結果:
姓名:老王 電話:15520080563 姓名:老大 電話:155200805632.xml文檔的新建
import java.io.* ; import org.w3c.dom.* ; import javax.xml.parsers.* ; import javax.xml.transform.* ; import javax.xml.transform.dom.* ; import javax.xml.transform.stream.* ;public class hh{public static void main(String args[]) throws Exception {// 取得DocumentBuilderFactory類的對象DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance() ;// 取得DocumentBuilder類的對象DocumentBuilder build = factory.newDocumentBuilder() ;Document doc = build.newDocument() ; // 創建一個新的XML文檔Element addresslist = doc.createElement("addresslist") ;Element linkman = doc.createElement("linkman") ;Element name = doc.createElement("name") ;Element email = doc.createElement("email") ;// 設置節點內容name.appendChild(doc.createTextNode("老王")) ;email.appendChild(doc.createTextNode("wanglei134@foxmail.com")) ;// 該設置各個節點的關系linkman.appendChild(name) ; // name是linkeman的子節點linkman.appendChild(email) ; // email是linkman的子節點 addresslist.appendChild(linkman) ;doc.appendChild(addresslist) ;TransformerFactory tf = TransformerFactory.newInstance() ;Transformer t = tf.newTransformer() ;t.setOutputProperty(OutputKeys.ENCODING, "GBK") ; // 處理中文的DOMSource source = new DOMSource(doc) ; // 準備輸出文檔StreamResult result = new StreamResult(new File("d:"+File.separator+"output.xml")) ;t.transform(source,result) ;} }?
?
轉載于:https://www.cnblogs.com/wanglei-134/p/3181389.html
總結
以上是生活随笔為你收集整理的老王学jsp之dom解析xml的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: centos中使用python遇到的几个
- 下一篇: JSP response request