dom和sax(補充)

 

1、dom解析  getTextContent()   獲取元素中的文本值

   節點的添加

Public static void createElement(Documentdoc){

//確定添加節點的位置:父節點

Node book=doc.getElementByTagName(“書”).tiem(0);

//生成一個新節點

Element element = Doc.createElement(“出版社”);

//設置此元素節點的文本節點

//Element.setTextContent(“清華大學”);

Text text=doc.createTextNode(“清華大學”);

Element.appendChild(text);

//在指定位置把新生成的節點添加進去

Book.appendChild(element);

//將內存中樹狀的結構doc寫入到xml文件

//生成工廠對象

TramsformerFactoryfactory=TransformerFactory.newInstance();

//由工廠對象生成Transtormer對象

Transtomer trans=factory.newTransformer();

//通過trans實現doc轉換到xml文檔中

 

//通過trans實現doc轉換到xml文檔中,需要一個DOMSource對象代表源樹

 

Trans.Transform(newDOMSource(doc).,newStreamResult(new File(“src/book.xml”)));

 

}

//確定插入點的位置

Node author=doc。GetElementsByTagName(“作者”).item(0);

//找到父元素

Node parent=author.getParentNode();

//找到下一個

Node borther=quthor.getNextSibing();

//創建一個新節點

Element element=doc.createElement(“出版社”);

Element.setTextContent(“”清華大學出版社”);

//插入到作者之前

Parent.insertBefore(element,author);

 

2、更新  javax。Xml。transform包中的transformer類

 

二、sax解析

       Sax採用事件處理的方式解析xml文件,設計兩部分:解析器  事件處理器

              1:它知道解析到xml文檔的組成部門,都會去調用事件處理器的一個方法

              2:調用時間處理器的方法時,把當前及誒繫到的xml文件內容作爲方法的參數傳遞給事件處理器     DefaultHandler

 

Public static void main(String[] args){

       //獲取SAX解析器工廠類的對象

SAXParserFactory factory=SAXParserFactory.newInstance();

//獲取SAX解析器

SAXParser sax=factory.newSAXParser();

//通過sax解析器開始解析文檔

sax.parse(new File(“src/book.xml”),newBookHandler());

}

Class BookHandler extends DefaultHandler{

//重新父類方法  來實現自己的操作。

Public void startDocument()throwsSAXException(){

System.out.println(“文檔開始”);

 

}

//元素開始結束方法

//遇到文本標籤   等方法。

方法寫入要怎樣去處理這個

  具體參考API文檔 DefaultHandler類

 

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章