如题,给出代码
主程序里 执行
xmlReader.setContentHandler(mp3ListContentHandler);
xmlReader.parse(new InputSource(new StringReader(xmlStr)));
调用XML解析的类:
----------------------------
public class Mp3ListContentHandler extends DefaultHandler{
private List<Mp3info> infos = null;
private Mp3info mp3info = null;
private String tagName = null;
public Mp3ListContentHandler(List<Mp3info> infos) {
super();
this.infos = infos;
} public List<Mp3info> getInfos() {
return infos;
} public void setInfos(List<Mp3info> infos) {
this.infos = infos;
} @Override
public void characters(char[] ch, int start, int length)
throws SAXException {
System.out.println("1X");
String temp = new String (ch, start,length);
if (tagName.equals("id")) {
mp3info.setId(temp);
}
else if(tagName.equals("mp3.name")){
mp3info.setMp3Name(temp);
}
else if (tagName.equals("mp3.size")) {
mp3info.setMp3Size(temp);
}
} @Override
public void startDocument() throws SAXException {
System.out.println("XXX");// TODO Auto-generated method stub
super.startDocument();
} @Override
public void endDocument() throws SAXException {
System.out.println("XXXxxxx");
// TODO Auto-generated method stub
super.endDocument();
} @Override
public void startElement(String uri, String localName, String qName,
Attributes attributes) throws SAXException {
tagName = localName;
System.out.println("XXxXX");
if(tagName.equals("resource")){
mp3info = new Mp3info();
System.out.println("XXxX");
}
// TODO Auto-generated method stub
} @Override
public void endElement(String uri, String localName, String qName)
throws SAXException {
// TODO Auto-generated method stub
if (qName.equals("resource")) {
infos.add(mp3info);
};
tagName= "";
}}-----------------------附上XML文件---------------<?xml version = "1.0" encoding = "utf-8">
<resources>
<resource>
<id>0001</id>
<mp3.name>想你的夜</mp3.name>
<mp3.size>10092</mp3.size>
</resource>
</resources>
主程序里 执行
xmlReader.setContentHandler(mp3ListContentHandler);
xmlReader.parse(new InputSource(new StringReader(xmlStr)));
调用XML解析的类:
----------------------------
public class Mp3ListContentHandler extends DefaultHandler{
private List<Mp3info> infos = null;
private Mp3info mp3info = null;
private String tagName = null;
public Mp3ListContentHandler(List<Mp3info> infos) {
super();
this.infos = infos;
} public List<Mp3info> getInfos() {
return infos;
} public void setInfos(List<Mp3info> infos) {
this.infos = infos;
} @Override
public void characters(char[] ch, int start, int length)
throws SAXException {
System.out.println("1X");
String temp = new String (ch, start,length);
if (tagName.equals("id")) {
mp3info.setId(temp);
}
else if(tagName.equals("mp3.name")){
mp3info.setMp3Name(temp);
}
else if (tagName.equals("mp3.size")) {
mp3info.setMp3Size(temp);
}
} @Override
public void startDocument() throws SAXException {
System.out.println("XXX");// TODO Auto-generated method stub
super.startDocument();
} @Override
public void endDocument() throws SAXException {
System.out.println("XXXxxxx");
// TODO Auto-generated method stub
super.endDocument();
} @Override
public void startElement(String uri, String localName, String qName,
Attributes attributes) throws SAXException {
tagName = localName;
System.out.println("XXxXX");
if(tagName.equals("resource")){
mp3info = new Mp3info();
System.out.println("XXxX");
}
// TODO Auto-generated method stub
} @Override
public void endElement(String uri, String localName, String qName)
throws SAXException {
// TODO Auto-generated method stub
if (qName.equals("resource")) {
infos.add(mp3info);
};
tagName= "";
}}-----------------------附上XML文件---------------<?xml version = "1.0" encoding = "utf-8">
<resources>
<resource>
<id>0001</id>
<mp3.name>想你的夜</mp3.name>
<mp3.size>10092</mp3.size>
</resource>
</resources>
解决方案 »
- 关于编译android源码
- ListView怎么添加RadioGroup
- 点击TextView后,让TextView颜色变黑,并字下面的一蓝色下划线,在线等
- Intent对象问题
- 启动程序时报如下错误,请问该如何解决
- 大神们求指导
- 如何 TCP 同步发送数据 ???(或者说是 阻塞block模式 )
- 小弟最近想做一个两台手机之间实现视频对话的玩意儿,不知道如何下手,求前辈指路
- ExpandableListActivity向下拖动出现一片空白,怎么禁止
- android sdk
- android下使用Cursor如何获取专辑图片?
- 做一个dialog类型的acitivity,设置其在整个窗口的位置,怎么弄?
在startDocument方法里面有super.startDocument();
用SAX进行解析的时候,是顺序扫描的。遇到标签<>,就会执行startElement方法吧。