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);

ファイル全体を提供する代わりに、次の 2 行のみを取得します。

"?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 に答える