Android - 使用DOM解析器的KML解析器
问题描述:
我在这里遇到问题。 我想解析从谷歌地图KML文件。我会成功解析存储坐标的节点。Android - 使用DOM解析器的KML解析器
但我想解析节点的childNodes 这里是KML文件。
<Placemark>
<name>Head north on Jalan Kebagusan Raya toward Jalan Anggrek</name>
<description><![CDATA[go 850 m]]></description>
<address>Jalan Kebagusan Raya</address>
...
</Placemark
解析它,我用这个代码,
NodeList nlPlace = doc.getElementsByTagName("Placemark");
for(int p = 0; p < nlPlace.getLength(); p++){
Node rootPlace = nlPlace.item(p);
NodeList itemPlace = rootPlace.getChildNodes();
for(int y = 0; y < itemPlace.getLength(); y++){
Node placeStringNode = itemPlace.item(y);
NodeList place = placeStringNode.getChildNodes();
//valueName = nameList.item(0).getNodeValue().toString() + "+";
pathName.add(place.item(0).getNodeValue());
}
}
desk.setText("");
for (int j = 0; j < strPlace.length; j++){
desk.append("Deskripsi:\n" + strPlace[j] + "\n");
}
,但是当我在真实设备/模拟器尝试,我得到的东西,我不想。 这是我的真实设备
从scrshot截图,我只是想“东北头惹Darmo卡利向惹Darmoerjo 4”抢信息。只是它。
你能帮我解决我的问题吗?
在此先感谢,并为我的英语很抱歉,感谢:)
答
类似下面应该做你想要什么。
NodeList nlPlace = doc.getElementsByTagName("Placemark");
for(int p = 0; p < nlPlace.getLength(); p++){
Element place = (Element)nlPlace.item(p);
Element name = (Element)place.getElementsByTagName("name");
//.....
}
}