0

このページからレート値(現在は 0.1501)のみを選択する方法を考えています。

public class Currency
{
    public void test() throws IOException
    {
        Document doc = Jsoup.connect("http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.xchange%20where%20pair%20in%20(%22SEKUSD%22)&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys").get();

        Elements value = doc.select("rate");
        System.out.print(value);
    }

    public static void main(String args[]) throws IOException
    {
        Currency derp = new Currency();
        derp.test();
    }
}
4

1 に答える 1

0

これによれば

jsoup を使用して XML を解析する - jsoup が <link> タグを「クリーニング」しないようにする

URL が xml を返すため、XML パーサーを使用する必要があります。jsoupの作者による回答で詳述されているように

Javaを実行しているマシンでもcurlを使用してリンクを取得して、URLにアクセスできることを確認する必要があると思います。例えば

  curl "http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.xchange%20where%20pair%20in%20(%22SEKUSD%22)&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys" -O

<?xml version="1.0" encoding="UTF-8"?>
<query xmlns:yahoo="http://www.yahooapis.com/v1/base.rng" 
       yahoo:count="1"yahoo:created="2013-07-11T20:26:10Z" yahoo:lang="en-US">
  <results><rate id="SEKUSD">
      <Name>SEK to USD</Name><Rate>0.1502</Rate>
      <Date>7/11/2013</Date><Time>4:23pm</Time>
      <Ask>0.1503</Ask><Bid>0.1502</Bid>
  </rate></results>
</query>
<\!-- total: 413 -->
<\!-- engine2.yql.sg3.yahoo.com -->

自由に入手できる金融情報が遅れていることは、おそらく言及する価値があります

于 2013-07-11T20:30:15.227 に答える