0
我試圖解析下面的XML文件:XML屬性值沒有得到牽強
<current>
<city id="1273840" name="Connaught Place">
<coord lon="77.22" lat="28.63"/>
<country>IN</country>
<sun rise="2016-04-11T00:29:24" set="2016-04-11T13:15:01"/>
</city>
<temperature value="308.15" min="308.15" max="308.15" unit="kelvin"/>
<humidity value="17" unit="%"/>
<pressure value="1010" unit="hPa"/>
我能夠成功獲得國家標籤(「IN」)的價值,但沒有能夠得到的值屬性「值」或溫度,壓力或上述任何其他標籤的任何屬性值。我的值爲空。 以下是我寫的代碼:
protected String doInBackground(Void... params) {
try {
URL u = new URL(URL);
HttpURLConnection con = (HttpURLConnection) u.openConnection();
con.setReadTimeout(10000);
con.setConnectTimeout(10000);
con.setRequestMethod("GET");
con.setDoInput(true);
con.connect();
InputStream i = con.getInputStream();
xf = XmlPullParserFactory.newInstance();
xp = xf.newPullParser();
xp.setInput(i, null);
xp.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES,false);
event = xp.getEventType();
}
catch(Exception e)
{
e.printStackTrace();
}
while(event!=XmlPullParser.END_DOCUMENT){
name=xp.getName();
switch(event){
case XmlPullParser.START_TAG:
break;
case XmlPullParser.TEXT:
text=xp.getText();
break;
case XmlPullParser.END_TAG:
if(name.equals("country")){
country=text;
break;
}
else if(name.equals("temperature")){
temperature=xp.getAttributeValue(null,"value");
publishProgress(temperature);
break;
}
else
break;
}
try {
event=xp.next();
} catch (XmlPullParserException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
是否有人可以幫助我瞭解這裏的問題..
Thanks.this解決我很好奇,爲什麼結束標記選項不工作在你的情況下,還我存儲mattribute的值,然後在爲其分配issue..but結束標記...... – ghostrider
這個<溫度值=「308.15」最小=「308.15」最大=「308.15」單位=「開爾文」/>類似於<溫度值=「308.15」最小=「308.15」最大=「308.15」 unit =「kelvin」> temperature>,你可以看到結束標記沒有任何屬性 –