SAX解析应用程序在android2.2上正常工作但在ICS中给出异常

时间:2013-10-11 07:19:42

标签: android parsing sax avd saxparser

我试图实现SAXParsing ...我在手机上运行我的应用程序时遇到异常,但是当我在Android 2.2 AVD上运行它时,应用程序运行正常。 请查看我的代码。 我删除了我正在解析的网址,因为我不习惯在公开场合展示它。

public class ZodiacXMLParsing extends Activity{


String mainURL="http://www.myURL/zodiac.xml";
TextView tv;

@Override
protected void onCreate(Bundle zodiac) {
    // TODO Auto-generated method stub
    super.onCreate(zodiac);
    setContentView(R.layout.zodiacxmlparsing);
    tv=(TextView)findViewById(R.id.tv);

    try{
        URL website=new URL(mainURL);
        SAXParserFactory spf=SAXParserFactory.newInstance();
        SAXParser sp=spf.newSAXParser();
        XMLReader xr=sp.getXMLReader();

        HandlingXMLStuff handle=new HandlingXMLStuff();
        xr.setContentHandler(handle);
        xr.parse(new InputSource(website.openStream()));

        String information=handle.getInformation();
        tv.setText(information);
    }catch(Exception e){
        Toast.makeText(ZodiacXMLParsing.this, "Error", Toast.LENGTH_SHORT).show();
    }
}

}

公共类HandlingXMLStuff扩展了DefaultHandler {

XMLDataCollected info=new XMLDataCollected();

public String getInformation(){
    return info.set();
}

@Override
public void startElement(String uri, String localName, String qName,
        Attributes attributes) throws SAXException {
    // TODO Auto-generated method stub
    if(localName.equals("aries")){
        String aries=attributes.getValue("data");
        info.get(aries);

    }
}

}

公共类XMLDataCollected {

String contents;

public void get(String z){
    contents=z;
}

public String set(){
    return contents;
}

}

1 个答案:

答案 0 :(得分:1)

我没有看到AsyncTask。由于您尚未发布错误日志,我认为这是您的问题。