Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何使用jsoup从xml中提取数据_Android_Xml_Xml Parsing_Jsoup - Fatal编程技术网

Android 如何使用jsoup从xml中提取数据

Android 如何使用jsoup从xml中提取数据,android,xml,xml-parsing,jsoup,Android,Xml,Xml Parsing,Jsoup,如何使用jsoup访问此xml文档中的数据 特别是F数据,即F=“11” 通过我的尝试,我只返回了900、1080、1260、0、180、360等数据 <DV dataDate="2013-11-11T20:00:00Z" type="Forecast"> <Location i="3604" lat="51.708" lon="-5.055" name="MILFORD HAVEN C.B." country="WALES" continent="EUROPE"> &l

如何使用jsoup访问此xml文档中的数据

特别是F数据,即F=“11”

通过我的尝试,我只返回了900、1080、1260、0、180、360等数据

<DV dataDate="2013-11-11T20:00:00Z" type="Forecast">
<Location i="3604" lat="51.708" lon="-5.055" name="MILFORD HAVEN C.B." country="WALES" continent="EUROPE">
<Period type="Day" value="2013-11-11Z">
<Rep D="W" F="11" G="18" H="100" Pp="15" S="9" T="13" V="MO" W="8" U="1">900</Rep>
<Rep D="W" F="12" G="18" H="100" Pp="52" S="7" T="13" V="VP" W="11" U="0">1080</Rep>
<Rep D="NNW" F="11" G="9" H="96" Pp="59" S="4" T="12" V="VG" W="12" U="0">1260</Rep>
</Period>
<Period type="Day" value="2013-11-12Z">
<Rep D="NW" F="9" G="13" H="88" Pp="80" S="7" T="11" V="VG" W="15" U="0">0</Rep>
<Rep D="NW" F="9" G="13" H="88" Pp="13" S="9" T="11" V="VG" W="7" U="0">180</Rep>
<Rep D="NNW" F="7" G="18" H="86" Pp="2" S="9" T="9" V="VG" W="0" U="0">360</Rep>
<Rep D="NNW" F="7" G="20" H="83" Pp="0" S="11" T="10" V="VG" W="1" U="1">540</Rep>

900
1080
1260
0
180
360
540
感谢您的帮助。

首先解析您的xml:

String xml = "<DV dataDate='2013-11-11T20:00:00Z'....";
Document doc = Jsoup.parse(xml, "", Parser.xmlParser());
将输出:

11
12
11
9
9
7
7
要仅选择第四个F值:
rep.get(3).attr(“F”)
,它将是9


更新:

您可以先以
字符串的形式获取远程文件,然后像往常一样使用我上面的代码。例如:

String xml = Jsoup.connect("http://datapoint.metoffice.gov.uk/public/data/val/wxfcs/all/xml/3604?res=3hourly&key=2dd5950b-91e1-4671-9d83-625f2ae9cbf5").get().toString();

Document doc = Jsoup.parse(xml, "", Parser.xmlParser());

谢谢你的回答,我会试试看。还有,我如何选择第四个F数据?@J4C3N-14没问题。请参阅我的更新答案以选择第四个F数据。您好,我正在尝试您的答案,如果我没有本地文件并像这样连接:docWeather2=Jsoup.connect(“;在尝试解析文档之前,我是否需要将文档放入文件中,或者是一种类似于……Jsoup.connect.xmlParser(“blah,blah,blah”)的方法?非常感谢,这正是我的意思。Stackoverflow和像你这样的用户是天赐之物,谢谢你的帮助。
String xml = Jsoup.connect("http://datapoint.metoffice.gov.uk/public/data/val/wxfcs/all/xml/3604?res=3hourly&key=2dd5950b-91e1-4671-9d83-625f2ae9cbf5").get().toString();

Document doc = Jsoup.parse(xml, "", Parser.xmlParser());