2013-07-11 2 views
0

мне интересно, как я бы выбрать только значение скорости от this page (который в настоящее время 0,1501):выбрать этот текст с помощью jsoup

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

ответ

0

Согласно этому

Use jsoup to parse XML - prevent jsoup from "cleaning" <link> tags

вам нужно использовать синтаксический анализатор XML, так как ваш url возвращает xml. Как указано в ответе автора jsoup

Мне кажется, вам нужно проверить, что у вас есть доступ к URL-адресу, получив ссылку, используя завиток на машине, на которой запущена java. например

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

Его, вероятно, стоит отметить, что в свободном доступе финансовой информации задерживается

Смежные вопросы