Мне нужно разобрать следующий файл xml.
<way id="50139553">
<nd ref="637270182"/>
<nd ref="637270196"/>
<tag k="name" v="Amy"/>
<tag k="bench" v="yes"/>
<tag k="bin" v="yes"/>
<tag k="public_transport" v="platform"/>
<tag k="railway" v="platform"/>
<tag k="shelter" v="yes"/>
<tag k="tactile_paving" v="yes"/>
<tag k="wheelchair" v="yes"/>
</way>
Я хочу выбрать только несколько значений: 50139553,Эми, 637270182 и 637270196.
Обычно я фокусируюсь на id, tag k="name" v="Amy" и nd ref="637270182".
Это код Java, который я использовал:
Way _way = new Way();
for (int zl = 0; zl < wayList.getLength(); zl++) {
Node way = wayList.item(zl);
if (way.hasAttributes()) {
String id = way.getAttributes().getNamedItem("id").getNodeValue();
_way.id = id;
}
for(int k = 0; k < way.getChildNodes().getLength();++k) {
Node childNode = way.getChildNodes().item(k);
if (childNode.getNodeType() == Node.ELEMENT_NODE) {
Element fin = (Element) childNode;
if(fin.getAttribute("k").contains("name")) {
_way.name = fin.getAttribute("v");
}
if(_way.name == null) {
waysOhneNamenIDList.add(_way.id);
}
System.out.println("Way-Id: " + _way.id + " Way-Name: " + _way.name + " Way-Ref: " + _way.ref);
_way.ref = fin.getAttribute("ref");
}
}
}
Консоль показывает мне следующий вывод:
Way-Id: 50139553 Way-Name: null Way-Ref: null
Way-Id: 50139553 Way-Name: null Way-Ref: 637270182
Way-Id: 50139553 Way-Name: Amy Way-Ref: 637270196
Way-Id: 50139553 Way-Name: Amy Way-Ref:
Way-Id: 50139553 Way-Name: Amy Way-Ref:
Way-Id: 50139553 Way-Name: Amy Way-Ref:
Way-Id: 50139553 Way-Name: Amy Way-Ref:
Way-Id: 50139553 Way-Name: Amy Way-Ref:
Way-Id: 50139553 Way-Name: Amy Way-Ref:
Way-Id: 50139553 Way-Name: Amy Way-Ref:
Но я хочу, чтобы это было так:
Way-Id: 50139553 Way-Name: Amy Way-Ref: 637270182
Way-Id: 50139553 Way-Name: Amy Way-Ref: 637270196
Так что я могу сделать?
С уважением, Назар.