【问题标题】:Android Pull Parser from url.xmlAndroid 从 url.xml 拉解析器
【发布时间】:2013-04-08 02:47:08
【问题描述】:

我已经搜索了两天,我可能已经看到了可以解决我的问题的解决方案,尽管我还没有找到我理解的解决方案。

我正在关注本教程 - Simple XMLPullParser Tutorial

我知道我需要改变的两个方面是

这里1

public List<Employee> parse(InputStream is) {
    XmlPullParserFactory factory = null;
    XmlPullParser parser = null;
    try {
        factory = XmlPullParserFactory.newInstance();
        factory.setNamespaceAware(true);
        parser = factory.newPullParser();

        parser.setInput(is, null);

        int eventType = parser.getEventType();

这里2

 List<Employee> employees = null;
    try {
        XMLPullParserHandler parser = new XMLPullParserHandler();
        employees = parser.parse(getAssets().open("employees.xml"));

这是来自工作示例,下面是我试图实现的目标,删除它

employees = parser.parse(getAssets().open("employees.xml"));

我试图得到类似的东西

网址 url=新网址("http://www.example.xml");

URLConnection 连接 = url.openConnection();

InputStream in = connection.getInputStream();

员工 = parser.parse(in);

第一部分我不太确定要更改什么,第二部分我知道我需要添加 url,并打开一个连接。然后更改 employees = parser... 行,但到目前为止还没有运气获得有效的响应。

我已经添加了 android.permission.INTERNET。

我还在 assets 文件夹中添加了自己的 XML 文件,这是我要解析的 url 的副本,效果很好。

任何帮助将不胜感激。

【问题讨论】:

    标签: java android xmlpullparser android-pullparser


    【解决方案1】:

    请在此处查看我的答案。 Android : XmlpullParser exception

    另外,请确保在

     XmlUtils.beginDocument(parser,"results");
    

    "results" 是您的 xml 的第一个节点名称。在您的情况下,它可能是“员工”

    另外,对于网络相关的服务可能无法通过主 UI 线程访问。

    请使用 AsyncTask 并在 doInBackground() 方法中添加您的方法。

     private class DownloadFilesTask extends AsyncTask<String, Void, String> {
     protected Long doInBackground(String... urls) {
       //put your xml parsing code here.
     }
    
     protected void onProgressUpdate(Integer... progress) {
         setProgressPercent(progress[0]);
     }
    
     protected void onPostExecute(Long result) {
         showDialog("Downloaded " + result + " bytes");
     }
    }
    

    【讨论】:

    • 谢谢,我会试试你的答案,我只是对为什么我无法解析位于 main_activity 中的第二个 sn-p 中的 url 感到困惑。我会稍微更新一下我的问题。
    猜你喜欢
    • 2011-04-11
    • 2014-03-29
    • 2014-09-22
    • 1970-01-01
    • 2014-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多