Android中XML数据解析
转载请注明出处:http://blog.csdn.net/yegongheng/article/details/38296207
XML初步
Android中XML数据解析使用实例
<?xml version="1.0" encoding="UTF-8"?>
<persons>
<person id="1">
<name>Transformers First</name>
<height>7</height>
<imageurl>imagefile/transformers_one.png</imageurl>
</person>
<person id="2">
<name>Transformers second</name>
<height>4</height>
<imageurl>imagefile/transformers_two.png</imageurl>
</person>
<person id="3">
<name>Transformers third</name>
<height>8.5</height>
<imageurl>imagefile/transformers_three.png</imageurl>
</person>
<person id="4">
<name>Transformers fourth</name>
<height>14.5</height>
<imageurl>imagefile/transformers_four.png</imageurl>
</person>
<person id="5">
<name>Transformers fifth</name>
<height>27.5</height>
<imageurl>imagefile/transformers_five.png</imageurl>
</person>
<person id="6">
<name>Transformers Sixth</name>
<height>8.5</height>
<imageurl>imagefile/transformers_six.png</imageurl>
</person>
<person id="7">
<name>Transformers Seventh</name>
<height>5</height>
<imageurl>imagefile/transformers_seven.png</imageurl>
</person>
<person id="8">
<name>Transformers Eighth</name>
<height>12.5</height>
<imageurl>imagefile/transformers_eight.png</imageurl>
</person>
</persons>
SAX解析XML文件实例
/**
* SAX解析类
* @author AndroidLeaf
*/
public class MyHandler extends DefaultHandler {
//当开始读取文档标签时调用该方法
@Override
public void startDocument() throws SAXException {
// TODO Auto-generated method stub
super.startDocument();
}
//当开始读取节点元素标签时调用该方法
@Override
public void startElement(String uri, String localName, String qName,
Attributes attributes) throws SAXException {
// TODO Auto-generated method stub
super.startElement(uri, localName, qName, attributes);
//do something
}
//当读取节点元素的子类信息时调用该方法
@Override
public void characters(char[] ch, int start, int length)
throws SAXException {
// TODO Auto-generated method stub
super.characters(ch, start, length);
//do something
}
//当结束读取节点元素标签时调用该方法
@Override
public void endElement(String uri, String localName, String qName)
throws SAXException {
// TODO Auto-generated method stub
super.endElement(uri, localName, qName);
//do something
}
//当结束读取文档标签时调用该方法
@Override
public void endDocument() throws SAXException {
// TODO Auto-generated method stub
super.endDocument();
//do something
}
}
事件处理器名称 |
事件处理器处理的事件 |
ContentHandler |
XML文档的开始与结束; XML文档节点元素的开始与结束,接收字符数据,跳过实体,接收元素内容中可忽略的空白等。 |
DTDHandler |
处理DTD解析时产生的相应事件 |
ErrorHandler |
处理XML文档时产生的错误 |
EntityResolver |
处理外部实体 |
方法名称 |
方法说明 |
startDocument() |
用于处理文档解析开始时间 |
startElement(String uri,String localName,String qName Attributes attributes) |
处理元素开始时间,从参数中可以获取元素所在空间的URL,元素名称,属性列表等信息。 |
characters(char[] ch,int start,int length) |
处理元素的字符内容,从参数中可以获得内容 |
endElement(String uri,String localName,String qName) |
处理元素结束时间,从参数中可以获取元素所在空间的URL,元素名称等信息。 |
endDocument() |
用于处理文档解析的结束事件 |
禁止拍拍: 很清晰的fragment教程,中间动态替换replace中继承fragment的类new会报错,网上换support.v4包的办法行不通,最后改了导包变成androidx就可以了,参考https://blog.csdn.net/weixin_44223883/article/details/103411908?utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control
指尖跃动: 我接入了你介绍的库,但一直说找不到aac-encode的so,请问怎么解决?谢谢。
文子越来越强: 线程优先级,复习了
Boyikia: 受教啦,thank you
康建伟 回复 sadikelong: 一千个读者就有一千部金瓶梅,要允许读者提出质疑!