【问题标题】:Android read xml from url cut-offAndroid 从 url 截断读取 xml
【发布时间】:2014-07-22 12:42:18
【问题描述】:

我有一个从 facebook 页面获取 xml 的应用程序。问题是缺少这部分:

<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
      xmlns:media="http://search.yahoo.com/mrss/"
      xmlns:dc="http://purl.org/dc/elements/1.1/"
    >
  <channel>
    <title>Стената на Interesting Engineering</title>
    <link>https://www.facebook.com/</link>
    <description>Стената на Interesting Engineering</description>
    <language>en-us</language>
    <category domain="Facebook">PageSyndicationFeed</category>
    <generator>Facebook Syndication</generator><docs>http://www.rssboard.org/rss-specification</docs>
    <lastBuildDate>Tue, 22 Jul 2014 10:00:01 +0000</lastBuildDate>
    <webMaster>webmaster@facebook.com</webMaster>
    <item>
      <guid isPermaLink="false">www.facebook.com/notification/9433896181aa13927fc

这是 xml 的开头。 我是这样得到的:

@Override
        protected Void doInBackground(Void... params) {
            URL url;
            String pageXML = ""; 
            try {
                url = new URL(pageUrl);

                HttpURLConnection urlConnection = (HttpURLConnection) url
                        .openConnection();

                InputStream in = urlConnection.getInputStream();
                streamToString(in);

                Log.i("", pageXML);
            } catch (Exception e) {
                e.printStackTrace();
            }
            return null;
        }

        private void streamToString(InputStream in) throws IOException {
            StringBuilder inputStringBuilder = new StringBuilder();
            BufferedReader bufferedReader = new BufferedReader(
                    new InputStreamReader(in, "UTF-8"));
            String line = bufferedReader.readLine();

            while (line != null) {
                inputStringBuilder.append(line);
                inputStringBuilder.append('\n');
                line = bufferedReader.readLine();
            }

            pageXML = inputStringBuilder.toString();

            Log.i("", pageXML);
            write("interesting_engineering", pageXML);
        }

您知道问题出在哪里吗? This 是我从中获取 xml 的 url。

【问题讨论】:

    标签: android xml facebook httpurlconnection


    【解决方案1】:

    我发现了问题。我的代码中有一部分(我在这里删除了)把事情搞砸了。这是导致问题的原因:

            InputStreamReader isw = new InputStreamReader(in);
    
            int data = isw.read();
    
            //This line is correct
            streamToString(in);
    
            while (data != -1) {
                char current = (char) data;
                data = isw.read();
            }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-19
      • 2014-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-20
      相关资源
      最近更新 更多