日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

xml解析:Sax,Dom,pull解析

發(fā)布時(shí)間:2024/9/27 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 xml解析:Sax,Dom,pull解析 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Sax

1.startDocument()文檔開(kāi)始

2.endDocument()文檔結(jié)束

3.startElement(String?namespaceURI,String?localName,String?qName,Attributes?atts);

??元素開(kāi)始,localName是元素名

1.4endElement(String?uri,?String?localName,?String?name)事件

1.5characters(char[]?ch,?int?start,?int?length)

SAXParserFactory?spf?=?SAXParserFactory.newInstance();//工廠

SAXParser?saxParser?=?spf.newSAXParser();//解析器

//XMLContextHandler?extends?DeafaultHandler

XMLContextHandler?handler?=?new?XMLContextHandler();

saxParser.parse(inStream,handler);

inStream.close();

return?handler.getPersons();

每當(dāng)遍歷到文本節(jié)點(diǎn)時(shí),會(huì)觸發(fā)該事件

public?void?characters(char[]?ch,int?start,in?length);

DOM

DocumentBuilder?builder?=?DocumentBuilderFactory.newDocumentBuilder();

Document?dom?=?builder.parse(inStream);

Element?root?=?dom.getDocumentElement();

NodeList?items?=?root.getElementsByTagName("person");//查找所有person節(jié)點(diǎn)

for(...){

Node?=?...

((Element)node).getAttribute("id");

if(node.getNodeType?==?Node.ELEMENT_NODE){

...

}

}

/*

*?取得文本節(jié)點(diǎn)

*/

node.getTextContext();

Android-Pull解析Xml

Android內(nèi)置的pull解析器解析XML文件.Pull解析器是一個(gè)開(kāi)源的java項(xiàng)目,既可以用于android,也可以用于JavaEE,如果用在javaEE需要把其jar文件放入路徑中,因?yàn)?/span>Android已經(jīng)集成進(jìn)了Pull解析器,所以無(wú)需添加任何jar文件。Android系統(tǒng)本省使用到的各種xml文件,其內(nèi)部也是采用Pull解析器進(jìn)行解析的,Pull解析器的運(yùn)行方式與SAX解析器相似。它提供了類似的時(shí)間,如:開(kāi)始元素和結(jié)束元素事件,使用parser.next()可以進(jìn)入下一個(gè)元素并觸發(fā)相應(yīng)事件。跟SAX不同的是,Pull解析器產(chǎn)生的事件是一個(gè)數(shù)字,而非方法,因此可以使用一個(gè)switch對(duì)感興趣的事件進(jìn)行處理。當(dāng)元素開(kāi)始解析時(shí),調(diào)用parser.nextText()方法可以獲取下一個(gè)Text類型節(jié)點(diǎn)的值。

XmlPullParser?parser?=?Xml.newPullParser();

parser.setInput(inStream,?"UTF-8");

int?etype?=?parser.getEventType();

while?(etype?!=?XmlPullParser.END_DOCUMENT)?{

switch?(etype)?{

case?XmlPullParser.START_DOCUMENT:

????parser.getName();

case?XmlPullParser.START_TAG:

}

etype?=?parse.next();

}

?

總結(jié)

以上是生活随笔為你收集整理的xml解析:Sax,Dom,pull解析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。