0

我正在使用此代码从给定的 url 获取 rss 文件:

// get the xml file from the given url in a string format
public String getXmlFromUrl(String url) 
{
    String xml = null;
    try 
    {
        // defaultHttpClient
        DefaultHttpClient httpClient = new DefaultHttpClient();
        HttpPost httpPost = new HttpPost(url);

        HttpResponse httpResponse = httpClient.execute(httpPost);
        HttpEntity httpEntity = httpResponse.getEntity();
        xml = EntityUtils.toString(httpEntity);

    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    } catch (ClientProtocolException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    // return XML
    return xml;
} 

这是获取 xml 文件文本的代码:

    String yahoo_url = "http://feeds.finance.yahoo.com/rss/2.0/headline?s=intc&region=US&lang=en-US";
    parser = new XMLParser();
    String text = parser.getXmlFromUrl(yahoo_url);
    System.out.println(text);

我没有给我整个文件,而是只得到两行:

"?xml version="1.0" encoding="utf-8"?
rss version="2.0"><channel/></rss?"

可能是什么问题?

谢谢

4

1 回答 1

0

问题可能是一些编码问题。如果使用错误的字符集处理您的 XML 字符串,则可能是某些字符被误解为例如换行符(将解释示例中的换行符)或文件结尾。

尝试告诉EntityUtils字符串的字符集(可能是 UTF-8):

xml = EntityUtils.toString(httpEntity, "UTF-8");
于 2012-07-12T20:22:46.477 回答