import java.util.List;import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;import zhainan.zk.view.FileNameManager;public class MyListcontentHandler extends DefaultHandler{
private List<TextInfo> infos=null;
private TextInfo info = null;
private String tagName = null;

public List<TextInfo> getInfos() {
return infos;
}
public void setInfos(List<TextInfo> infos) {
this.infos = infos;
}
public MyListcontentHandler(List<TextInfo> infos) {
super();
this.infos = infos;
}
@Override
public void characters(char[] ch, int start, int length)
throws SAXException {
// TODO Auto-generated method stub
String tmp = new String(ch,start,length);

if(tagName.equals("textfilename"))
{
info.setTextFileName(tmp);
}
else if(tagName.equals("title"))
{
info.setTitle(tmp);
}

}
@Override
public void endDocument() throws SAXException {
// TODO Auto-generated method stub
super.endDocument();
} @Override
public void endElement(String uri, String localName, String qName)
throws SAXException {
if(qName.equals("resourse"))
{
//这段代码在1.6中运行会出错    无法打印出文件名和标题   
//在2.2中正常运行 
System.out.println(info.getTitle()+" "+info.getTextFileName());
FileNameManager.addFile(info.getTextFileName(), info.getTitle());
infos.add(info);
}
tagName = "";
} @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
tagName = localName;
if(tagName.equals("resourse"))
{
info = new TextInfo();
}
}

}
写了一个xml的解析程序  可是发现 在1.6中运行出错  而在2.2 中可以正常运行  
 是程序问题 还是  我的虚拟机设置的有问题   
还有  我想知道  assets 文件是不是只能读    我能下载文件保存到assets 文件中吗

解决方案 »

  1.   

    这要看你用的是哪种方法解析了,一般常用的有dom,sax,XmlPullParser等方法。有的方法涉及到版本问题,可以尝试用XmlPullParser来试试,给个参考:http://blog.csdn.net/android_tutor/article/details/5890835
      

  2.   

     if(qName.equals("resourse"))
            {
                System.out.println(info.getTitle()+" "+info.getTextFileName());
                FileNameManager.addFile(info.getTextFileName(), info.getTitle());
                infos.add(info);
            }问题 我自己解决了   上面程序的  变量 qName 在1.6中的值为空   在2.2中的值是正常的  
     为什么  我也不清楚