这是本人第一次发帖以前遇到问题都是自己解决或者百度google这次食杂解决不鸟了
有实在不甘心这么不管所以到论坛里来求助  ,Couldn't open http://rss.sina.com.cn/sina_news_opml.xml Nested exception: Couldn't open http://rss.sina.com.cn/sina_news_opml.xml这是抛出来的异常 这个地址在另一个项目里面能准确误区的解析出xml而且我的代码和那个项目里的都一样我甚至把那个项目整个给移植到了新的项目里还是报这个错
崩溃了;下面是代码

**********************************************************
package com.bdqn.NewUtile;import java.io.BufferedInputStream;
import java.io.File;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;import org.apache.http.HttpRequest;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.io.SAXReader;
import org.dom4j.tree.DefaultElement;public class CategoryParse { public List parseCategory(String urlString){
List<Map> data=new ArrayList<Map>();
try {
URL url=new URL("http://rss.sina.com.cn/sina_news_opml.xml");
SAXReader saxReader=new SAXReader();
Document doc=saxReader.read(url);

List<DefaultElement> ls  =(List<DefaultElement>) doc.selectNodes("//opml//body//outline//outline");

for (DefaultElement node : ls) {
Map  row = new HashMap();
row.put("title", node.attributeValue("title"));
row.put("xmlUrl", node.attributeValue("xmlUrl"));
System.out.println(node.attributeValue("title")+"  "+node.attributeValue("xmlUrl"));
data.add(row);
}
} catch (MalformedURLException e) {
System.out.println("url地址异常"+e.getMessage());
e.printStackTrace();
} catch (DocumentException e) {
System.out.println("转换document异常"+e.getMessage());
                     //这里就是抛出异常的地方
e.printStackTrace();
}  
return data;
}
}
XMLandroid SAXReader异常

解决方案 »

  1.   

    你测试的系统是4.0以上的么,不要在UI线程里调用网络API(saxReader.read里面用到了网络相关的了),用AsyncTask 来做网络操作。
      

  2.   

    操作网络等耗时的数据放在 AsyncTask  里,防止UI线程阻塞,出现异常。
      

  3.   

    额,我记得Android 4.0下,把联网的代码放在UI线程里面会有明确的错误提示的:find NetWork...in UI thread.