XmlPullParse解析XML

pull解析XML

  • 读取XML文档
//创建xmlPullParse对象
//import org.xmlpull.v1.XmlPullParse;
XmlPullParse pullParse=XmlPullParseFactory.newInstance().newXmlPullParse();
//更便捷的创建方式
//import android.until.xml;
XmlPullParse pullParse=Xml.newXmlPullParse();
//设置解析XML的数据与格式
//xml,读取的xml字节流
//encoding,定义xml文件解析方式的字符集
pullParse.setInput(inputStream,encoding);


//部分API
  • int getEventType()//获取xml解析器当前节点的事件(文档开始事件XmlPullParse.START_DOMCUMENT)
  • int next()//获取下一个节点事件(XmlPullParse解析器除文档开始节点外不会自动解析,需要调用next()方法人工解析)
  • String getName()//获取当前指针指向节点的名称
  • int getAttributeCount()//获取当前节点下的属性数量
  • String getAttributeName()//获取当前节点下的属性名
  • String getAttributeValue(int)//获取当前指向节点的指定索引的属性值
  • String nextText()//获取当前节点后面节点的文本并移动到END_TAG(该节点后面应当为文本,否则返回Empty,如<name>myName</name>)
//文档事件
  • XmlPullParse.START_DOMCUMET,文档开始(如<?xml version="1.0" encoding="UTF-8">)
  • XmlPullParse.START_TAG,节点开始(如<name>)
  • XmlPullParse.END_TAG,节点结束(如</name>)
  • XmlPullParse.END_DOMCUMENT,文档结束
  • XmlPullParse.TEXT,当前元素为Text

  • 写入XML文档
//创建XML写入对象,XmlSeralizer
XmlSeralizer xmlWriter=Xml.newXmlSeralizer();
//定义xml写入的字符串集类型
xmlWriter.setOutput(outputStream,encoding);


//部分API
  • void setOutput(OutputStream,encoding)//绑定输出流与解析字符集类型
  • void startDocument(encoding,standlone)//xml文档定稿字符集类型,文档是否对其它文件有依赖性(能否单独存在)
  • void endDocument()//结束写入文档
  • void startTag(nameSpace,String)//开始节点命名空间,节点名称
  • void endTag(nameSpace,String)//结束节点
  • void attribute(nameSpace,String,String)//设置属性的命名空间,名称与值

//读写Xml文件的封装最好使用类似以下签名
//直接对文件流进行封装处理,由其它程序将文件加载成流
//避免了多余的File文件转换或将filePath转换成流
//encoding为文件解析或写入时的字符解析格式(可根据具体要求确定是否需要)
public void writeXml(InputStream in, String encoding);
public void readXml(OutputStream out, String encoding);


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值