Я пытаюсь проанализировать значение температуры в этом XML-ответе.
<current>
<city id="2643743" name="London">
<coord lon="-0.13" lat="51.51"/>
<country>GB</country>
<sun rise="2017-01-30T07:40:36" set="2017-01-30T16:47:56"/>
</city>
<temperature value="280.15" min="278.15" max="281.15" unit="kelvin"/>
<humidity value="81" unit="%"/>
<pressure value="1012" unit="hPa"/>
<wind>
<speed value="4.6" name="Gentle Breeze"/>
<gusts/>
<direction value="90" code="E" name="East"/>
</wind>
<clouds value="90" name="overcast clouds"/>
<visibility value="10000"/>
<precipitation mode="no"/>
<weather number="701" value="mist" icon="50d"/>
<lastupdate value="2017-01-30T15:50:00"/>
</current>
Мне удалось проанализировать страну, например, потому что в теге есть только одно значение, но то, что я хочуэто только значение температуры, которое в этом примере составляет 280,15.
Мой код для разбора:
Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new InputSource (new StringReader(response.toString())));
NodeList errNodes=doc.getElementsByTagName("current");
if(errNodes.getLength()>0){
Element err=(Element) errNodes.item(0);
System.out.println(err.getElementsByTagName("country").item(0).getTextContent());
}else{
}
Когда я изменяю getElementByTagName на температуру, он не распознает его, конечно, потому что внутри тега температуры есть 4 значения, и он не 'Не знаю, какой из них выбрать, и вся структура тега температуры отличается от структуры тега страны.
Существует ли какой-либо простой способ анализа только значения температуры?
Редактировать: Я изменил функцию синтаксического анализа, и теперь она выглядит так:
NodeList errNodes=doc.getElementsByTagName("temprature");
if(errNodes.getLength()>0){
// Element err=(Element) errNodes.item(0);
System.out.println(errNodes.item(2).getAttributes().getNamedItem("value").getNodeValue());
Но все еще не могу получить никаких значений!