android操作xml封装后的类,包括创建xml和读xml。

public class XmlParserUtil{//创建xml文件 public static void createXmlFile(final String xmlPath){ File xmlFile = new File(xmlPath); FileOutputStream fileOPStream = null; try{ fileOPStream = new FileOutputStream(xmlFile); }catch (FileNotFoundException e) { Log.e("FileNotFoundException", "can't create FileOutputStream"); } XmlSerializer serializer = Xml.newSerializer(); try{ serializer.setOutput(fileOPStream,"UTF-8"); serializer.startDocument(null, true); serializer.startTag(null, "books"); for(int i = 0; i < 5; 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(); fileOPStream.close(); } catch (Exception e) { Log.e("XmlParserUtil","error occurred while creating xml file"); } Toast.makeText(getApplicationContext(), "创建xml文件成功!", Toast.LENGTH_SHORT).show(); } /** dom解析xml文件 * xmlPath xml的路径*/public static void domParseXML(final String xmlPath){ File file = new File(xmlPath); if(!file.exists()||file.isDirectory()){Log.e("domParseXML", "file not exists");return;}DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = null; try { db = dbf.newDocumentBuilder(); } catch (ParserConfigurationException e) { e.printStackTrace(); } Document doc = null; try { doc = db.parse(file); } catch (SAXException e) { e.printStackTrace(); } catch (IOException e){ e.printStackTrace(); } Element root = doc.getDocumentElement(); NodeList books = root.getElementsByTagName("book"); String res = "本结果是通过dom解析:" + "\n"; for(int i = 0; i < books.getLength();i++){ Element 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"; } } /** xmlPullParser解析xml文件 * xmlPath xml的路径*/public static void xmlPullParseXML(final String xmlPath){ String res = "本结果是通过XmlPullParse解析:" + "\n"; try{ XmlPullParserFactory factory = XmlPullParserFactory.newInstance(); XmlPullParser xmlPullParser = factory.newPullParser(); try{xmlPullParser.setInput(new StringReader(bufferedReaderFile(xmlPath)));}catch (Exception e) {Log.e("xmlPullParseXML", e.toString());}int eventType = xmlPullParser.getEventType(); try{ while (eventType != XmlPullParser.END_DOCUMENT){ String nodeName = xmlPullParser.getName(); switch (eventType){ case XmlPullParser.START_TAG: if("bookname".equals(nodeName)){ res += "书名: " + xmlPullParser.nextText() + " "; }else if("bookauthor".equals(nodeName)){ res += "作者: " + xmlPullParser.nextText() + "\n"; } break; default: break; } eventType = xmlPullParser.next(); } } catch (IOException e){ e.printStackTrace(); } } catch (XmlPullParserException e){ e.printStackTrace(); } } //从sd卡中读取xml文件的内容private String bufferedReaderFile(final String path) throws IOException{File file=new File(path);if(!file.exists()||file.isDirectory())throw new FileNotFoundException();BufferedReader br=new BufferedReader(new FileReader(file));String temp=null;StringBuffer sb=new StringBuffer();temp=br.readLine();while(temp!=null){sb.append(temp+" ");temp=br.readLine();}br.close();return sb.toString();}}


更多相关文章

  1. Android学习——在Android中使用OpenCV的第一个程序
  2. cordova入门教程(五)给android apk签名
  3. Android组件的样式
  4. Android(安卓)之 发送短信
  5. 2011.07.05(2)——— android PopupWindow
  6. Android常见错误解析
  7. Android内核的根文件系统
  8. 为Android软件创建快捷方式
  9. Android文件存储

随机推荐

  1. S5PV210 三个Camera Interface/CAMIF/FIM
  2. Android基于UDP的局域网聊天通信(有完整De
  3. 【android】自定义ViewGroup的onLayout()
  4. Android的几种按钮控件: Options Menu / C
  5. Handler: 更新UI的方法
  6. 伊豆:把豆瓣网装进口袋
  7. Hello Android(安卓)- File文件操作
  8. Android面试系列文章2018之内存管理篇
  9. android部分目录分析
  10. Android(安卓)获取手机的厂商、型号、And