Android学习笔记-XML处理
来源:互联网 发布:新加坡李家王朝 知乎 编辑:程序博客网 时间:2024/05/29 09:21
SAX工作原理:当扫描到文档(document)开始与结束、元素(element)开始与结束、文档(document)结束等地方时同志时间处理函数,由时间处理函数做相应动作,然后继续同样的扫描,直至文档结束。
从网络上下载XML代码进行处理
读取网络文件内容的方法参考 http://shamrock.blog.51cto.com/2079212/1580269
test.xml
<?xml version="1.0" encoding="UTF-8"?><workers><worker id="A01"><name>Tom</name><sex>男</sex><status>经理</status><address>湖北</address><money>20000</money></worker><worker id="A02"><name>Tom1</name><sex>男</sex><status>员工</status><address>湖北武汉</address><money>22000</money></worker><worker id="A03"><name>Tom2</name><sex>男</sex><status>员工</status><address>湖北宜昌</address><money>20200</money></worker></workers>
下载文件不能在主线程中进行。
class MyHandler extends Handler {public MyHandler() {}public MyHandler(Looper looper) {super(looper);}@Overridepublic void handleMessage(Message msg) {super.handleMessage(msg);Bundle bundle = msg.getData();String urlStr = bundle.getString("urlStr");String fileName = bundle.getString("fileName");String path = bundle.getString("path");HttpDownloader httpDownloader = new HttpDownloader();//将读取到的XML文件的内容保存到result中String result = httpDownloader.download(urlStr);System.err.println(result);Toast.makeText(MainActivity.this, "~~", Toast.LENGTH_SHORT).show();try {// 创建一个SAXParserFactorySAXParserFactory factory = SAXParserFactory.newInstance();XMLReader reader = factory.newSAXParser().getXMLReader();// 为XMLReader设置内容处理器reader.setContentHandler(new MyContentHandler());// 开始解析文件reader.parse(new InputSource(new StringReader(result)));} catch (Exception e) {e.printStackTrace();}}}
MyContentHandler.java
package com.example.xml;import org.xml.sax.Attributes;import org.xml.sax.SAXException;import org.xml.sax.helpers.DefaultHandler;public class MyContentHandler extends DefaultHandler {String hisname, address, money, sex, status;String tagName;public void startDocument() throws SAXException {System.out.println("````````begin````````");}public void endDocument() throws SAXException {System.out.println("````````end````````");}public void startElement(String namespaceURI, String localName,String qName, Attributes attr) throws SAXException {tagName = localName;if (localName.equals("worker")) {//获取标签的全部属性for (int i = 0; i < attr.getLength(); i++) {System.out.println(attr.getLocalName(i) + "=" + attr.getValue(i));}}}public void endElement(String namespaceURI, String localName, String qName)throws SAXException {//在workr标签解析完之后,会打印出所有得到的数据tagName = "";if (localName.equals("worker")) {this.printout();}}public void characters(char[] ch, int start, int length)throws SAXException {if (tagName.equals("name"))hisname = new String(ch, start, length);else if (tagName.equals("sex"))sex = new String(ch, start, length);else if (tagName.equals("status"))status = new String(ch, start, length);else if (tagName.equals("address"))address = new String(ch, start, length);else if (tagName.equals("money"))money = new String(ch, start, length);}private void printout() {System.out.print("name: ");System.out.println(hisname);System.out.print("sex: ");System.out.println(sex);System.out.print("status: ");System.out.println(status);System.out.print("address: ");System.out.println(address);System.out.print("money: ");System.out.println(money);System.out.println();}}
本文出自 “优赛工作室” 博客,请务必保留此出处http://shamrock.blog.51cto.com/2079212/1582142
0 0
- Android学习笔记-XML处理
- 【Android学习笔记】XML存储
- 【Android学习笔记】XML解析
- Android学习笔记 - XML篇
- Android学习笔记--XML解析
- Android XML布局学习笔记
- Android消息处理学习笔记
- android学习笔记-事件处理
- Android学习笔记:androidmanifest.xml 高级属性
- android学习笔记35--------------color.xml
- Android:/AndroidManifest.xml文件介绍 学习笔记
- Android学习笔记之AndroidManifest.xml文件
- Android学习笔记1:XML基础
- Android学习笔记--解析XML之SAX
- Android学习笔记02:AndroidManifest.xml源码
- android学习笔记16: SAX解析XML
- Android学习笔记:Pull解析XML
- android学习笔记4-xml解析
- Android学习笔记-SQLite的使用
- Spring4学习笔记-SpringJDBC基本操作(补充)
- Android学习笔记-文件下载
- Android学习笔记-广播机制
- Android学习笔记-ContentProvider
- Android学习笔记-XML处理
- Android学习笔记-Wifi网络操作
- Android学习笔记-网络编程
- Android学习笔记-Service
- Android(4.X)学习笔记
- SpringMVC学习笔记-Hello world
- SpringMVC学习笔记-@RequestMapping
- SpringMVC学习笔记-续
- Hadoop学习笔记-入门