для нижеследующего XML-файла, я хочу получить значения идентификаторов, соответствующих лат = 53.0337395, а в xml есть два идентификатора с lat = 53.0337395. как показано ниже, для достижения этой цели я написал код, приведенный ниже, но во время выполнения я получаю #NUMBER cannt be converted into a nodelist
Как получить значения атрибутов в nodelist
пожалуйста, дайте мне знать, как решить это
String expr0 = "count(//node[@lat=53.0337395]//@id)";
xPath.compile(expr0);
NodeList nodeList = (NodeList) xPath.compile(expr0).evaluate(document,
XPathConstants.NODESET);
System.out.println(nodeList.getLength());
XML:
<?xml version='1.0' encoding='utf-8' ?>
<osm>
<node id="25779111" lat="53.0334062" lon="8.8461545"/>
<node id="25779112" lat="53.0338904" lon="8.846314"/>
<node id="25779119" lat="53.0337395" lon="8.8489255"/>
<tag k="maxspeed" v="30"/>
<tag k="maxspeed:zone" v="yes"/>
<node id="25779111" lat="53x.0334062" lon="8x.8461545"/>
<node id="25779112" lat="53x.0338904" lon="8x.846314"/>
<node id="257791191" lat="53.0337395" lon="8x.8489255"/>
<tag k="maxspeed" v="30x"/>
<tag k="maxspeed:zone" v="yes"/>
</osm>
'Строка expr0 =«Количество (//node[@lat=53.0337395] // @ id) ";' должен возвращать 2 в вашем случае, и вы говорите, что 2 должен быть nodeList –