使用SAX解析解决IOException

时间:2012-06-26 11:56:13

标签: android

**下一个代码应该将数据从webService解析为textView;

问题:IOEXception :如何解决异常并使我的程序正常工作?**所以任何人都可以帮助我,因为我尝试了很多示例代码网,但没有任何与我合作

 @Override
 public class NewParsActivity extends Activity {   

public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
         Button b;

        /** Called when the activity is first created. */
        static final String baseUrl="http://www.androidpeople.com/wp-content/uploads/2010/06/example.xml";

        TextView tv;
        EditText ed,ed2;


            tv=(TextView)findViewById(R.id.text);
            ed=(EditText)findViewById(R.id.edt);
            b=(Button) findViewById(R.id.button1);
            ed2=(EditText) findViewById(R.id.editText1);

            try{



                SAXParserFactory spf=SAXParserFactory.newInstance();
                SAXParser sp=spf.newSAXParser();
                XMLReader xr=sp.getXMLReader();
                URL link=new URL(baseUrl);
                handlXml doingWork=new handlXml();
                xr.setContentHandler(doingWork);
                xr.parse(new InputSource(link.openStream()));
                String information=doingWork.getInformation();
                tv.setText(information);
            }catch(Exception e){
             tv.setText("Error");
            }



    //
    public class handlXml  extends DefaultHandler {
       One  item=new One();

       public String getInformation(){
           return item.DataToString();

       }
    @Override
    public void startElement(String uri, String localName, String qName,
            Attributes attributes) throws SAXException {
        // TODO Auto-generated method stub
        if(localName.equals("website")){
            String uniN=attributes.getValue("category");
            item.setName(uniN);
        }
    }

}

    //

public class One {

    String UName;
    public void setName(String n){
        UName=n;    
    }


public String DataToString()
{
    return "In"+UName;
}
}

1 个答案:

答案 0 :(得分:0)

您确定已正确实施处理程序吗?您仍然缺少characters()endElement()

startElement()仅用于识别您正在阅读的标签。使用临时变量在characters()中存储内容,并将数据保存在endElement()

也许这就是问题所在。我不确定。