http://lifuping-2008.blog.163.com/blog/static/85869990200911973011318/
1packagestudy; 2 3importjava.io.StringReader; 45org.kxml2.io.KXmlParser; 6org.xmlpull.v1.XmlPullParser; 78/** 9*2008-4-16下午02:29:40 10* 11*@authorzhanghongzhi<br> 12*email:lanfanss@126.com<br> 13*desc:用来学习使用kxml来解析xml<br> 14*书上讲解说,kxml是基于事件模型,按着下边的逻辑来读取标记,start_document-start_tag-text-end_tag-end_document<br> 1516*/1718publicclassReadXmlByKXML{ 1920staticvoidmain(String[]args)throwsException{ 21XmlPullParserparser=newKXmlParser(); 22Stringsample"<questiontext='Isitround?'>n23+<questiontext='Isitbright?'>n24<answer>ItistheSun!</answer>n25<answer>Itisaball!</answer>n</question>n26<answer>Idonotknow!</answer>n; 27System.out.println(-----------待分析的内容------------); 28System.out.println(sample); 29---------------------------------30parser.setInput(StringReader(sample)); 31//获取事件类型32inteventTypeparser.getEventType(); 33如果不是整个文档的结尾,那么就读取,这样子就达到遍历整个文档的目的34while(eventType!=XmlPullParser.END_DOCUMENT){ 35访问文档根节点36if==XmlPullParser.START_DOCUMENT){ 37当前节点的名称:parser.getName()); 38当前节点下的属性:39attrCountparser.getAttributeCount(); 40for(i0;i<attrCount;i++){ 41System.out.println(parser.getAttributeName(i)); 42} 43}elseXmlPullParser.START_TAG){ 44System.out 45.println(---------starttag------------------------------4647484950System.out.println(parser.getAttributeName(i):51parser.getAttributeValue(i)); 5253这里可以根据不同的节点名称来作出不同的反应,比如text需要单独处理什么5455XmlPullParser.TEXT){ 56---------texttag---------57已经取不到值了58本text属于:59System.out.println(parser.getText()); 60XmlPullParser.END_TAG){ 61---------endtag---------62当前节点的名称63可以在这里把本tag的内容处理掉,比如类似将其放到某个容器中6465parser.next(); 666768} (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|