下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

java的dom XmlPullParser中该解析xml

作者:课课家教育     来源: http://www.kokojia.com点击数:1040发布时间: 2016-03-10 14:39:17

标签: Java语言Java设计Java程序员

大神带你学编程,欢迎选课

  新建XML文件:

  安卓版本dom解析:

private void createXmlFile(){
File linceseFile=new File(BOOKS_PATH);

    try {

    linceseFile.createNewFile();

    } catch (Exception e) {

    Log.e("IOException", "exception in createNewFile() method");

    }

    FileOutputStream fileos=null;

    try {

    fileos=new FileOutputStream(linceseFile);

    } catch (Exception e) {

    Log.e("FileNotFoundException","can't create FileOutputStream");

    }

    XmlSerializer serializer=Xml.newSerializer();

    try {

    serializer.setOutput(fileos,"UTF-8");

    serializer.startDocument(null,true);

    serializer.startTag(null,"books");

    for(int i=0;i<3;i++){

    serializer.startTag(null, "book");

    serializer.startTag(null, "bookname");

    serializer.text("Android教程"+i);

    serializer.endTag(null, "bookname");

    serializer.startTag(null, "bookauthor");

    serializer.text("Frankie"+i);

    serializer.endTag(null, "bookauthor");

    serializer.endTag(null, "book");

    }

    serializer.endTag(null, "books");

    serializer.endDocument();

    serializer.flush();

    fileos.close();

    } catch (Exception e) {

    // TODO: handle exception

    }

    Toast.makeText(getApplicationContext(), "创建XML文件成功!", Toast.LENGTH_LONG).show();

    }

    private void saxParserXML(){

    }

    private void domParserXML() {

    File file=new File(BOOKS_PATH);

    DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();

    DocumentBuilder db=null;

    try {

    db=dbf.newDocumentBuilder();

    } catch (Exception e) {

    e.printStackTrace();

    }

    Document doc=null;

    try {

    doc=db.parse(file);

    } catch (Exception e) {

    e.printStackTrace();

    }

    Element root=doc.getDocumentElement();

    NodeList books=root.getElementsByTagName("book");

    String res="本结果是通过dom 解析的:/n";

    for(int i=0;iElement book=(Element) books.item(i);

    Element bookname=(Element)book.getElementsByTagName("bookname").item(0);

    Element bookauthor=(Element)book.getElementsByTagName("bookauthor").item(0);

    res+="书名:"+bookname.getFirstChild().getNodeValue()+" "+"作者"+bookauthor.getFirstChild().getNodeValue()+"/n";

    }

    tv.setText(res);

  

java的dom XmlPullParser中该解析xml_Java语言_Java设计_课课家

 

  其中注意设定权限:

  安卓版本pullparser解析:

try {

  XmlPullParserFactory factory=XmlPullParserFactory.newInstance();

  factory.setNamespaceAware(true);

  XmlPullParser xpp=factory.newPullParser();

  xpp.setInput(new StringReader("zhangsan

  "));

  int eventType=xpp.getEventType();

  while(eventType!=XmlPullParser.END_DOCUMENT){

  switch(eventType){

  case XmlPullParser.START_DOCUMENT:

  System.out.println("Start document");

  break;

  case XmlPullParser.START_TAG:

  System.out.println("Start tag"+xpp.getName());

  if(xpp.getName().equals("name")){

  Toast.makeText(getApplicationContext(), xpp.nextText(), Toast.LENGTH_SHORT).show();

  }else if(xpp.getName().equals("image")){

  Toast.makeText(getApplicationContext(), xpp.getAttributeValue(0), Toast.LENGTH_SHORT).show();

  }

  break;

  case XmlPullParser.TEXT:

  break;

  case XmlPullParser.END_DOCUMENT:

  break;

  default :

  break;

  }

  eventType=xpp.next();
赞(0)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程