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获取文件目录
  2. Android代码实现APK文件的安装与卸载
  3. Android 文件实现断点上传
  4. Android 存储方式之文件存储
  5. Android 利用Java实现压缩与解压缩(zip、gzip)支持中文路径
  6. Android 下载文件 显示进度条
  7. 在AndroidManifest.xml文件中的android:windowSoftInputMode属性
  8. Andorid在布局文件中中文加粗

随机推荐

  1. Android蓝牙开发—BLE(低功耗)蓝牙详细开发
  2. Android十大热门名词解释
  3. Android(安卓)NFC基础知识汇总
  4. Android的Handler Looper Message机制应
  5. 《Android(安卓)开发艺术探索》读书笔记(
  6. android程序加载so动态库和jar包
  7. Android(安卓)3.0亮点一览
  8. Android使用JNI实现Java与C之间传递数据
  9. android:layout_gravity和android:gravit
  10. [开源c-FFMpeg]Android(安卓)add prebuil