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类

 

}

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