因此,我获得了以下xml数据并将其存储在Hashtable中。
<node id="5011175885" lat="49.1466217" lon="12.1441047"/>
<node id="5011175886" lat="49.1458430" lon="12.1432043"/>
<node id="5011179133" lat="49.1451117" lon="12.1428956"/>
<node id="5011179135" lat="49.1446237" lon="12.1428139"/>
<way id="26190826">
<nd ref="56207880"/>
<nd ref="5011179135"/>
<nd ref="5011179133"/>
<nd ref="56207949"/>
<nd ref="5011175886"/>
<nd ref="1433696587"/>
<nd ref="2950970924"/>
<nd ref="5011175885"/>
<nd ref="56207881"/>
<nd ref="274571416"/>
<nd ref="5011175884"/>
<nd ref="5011175883"/>
<nd ref="274571414"/>
<nd ref="5011175882"/>
<nd ref="318799484"/>
<nd ref="56207883"/>
<nd ref="274571411"/>
<nd ref="5011175879"/>
<nd ref="274571410"/>
<nd ref="56207955"/>
<nd ref="3609814059"/>
<nd ref="361048261"/>
<nd ref="318799495"/>
<nd ref="3596922070"/>
<nd ref="274571406"/>
<nd ref="56207887"/>
<nd ref="3596922088"/>
<nd ref="746498802"/>
<tag k="highway" v="tertiary"/>
<tag k="name" v="Am Grasigen Weg"/>
</way>
Hashtable<Long, Element> nodeTable = new Hashtable<Long, Element>();
Hashtable<Long, Element> wayTable = new Hashtable<Long, Element>();
for(int i=0; i<nList.getLength(); i++) {
Node nNode = nList.item(i);
if(nNode.getNodeType() == Node.ELEMENT_NODE) {
Element e = (Element) nNode;
if(e.getTagName() == "node") {
nodeTable.put(Long.valueOf(e.getAttribute("id")), e);
}
if(e.getTagName() == "way") {
sender.sendMessage("test");
wayTable.put(Long.valueOf(e.getAttribute("id")), e);
}
}
}
[我的问题是,对表中的所有键进行计数将为节点表500返回某些内容,并为路径表0返回某些结果。sender.sendMessage(“ test”);永远无法到达的部分
您不使用==
比较Java中的字符串。您应该改用equals()
方法:
equals()