2012-05-20 80 views
1

我在这里遇到问题。 我想解析从谷歌地图KML文件。我会成功解析存储坐标的节点。Android - 使用DOM解析器的KML解析器

但我想解析节点的childNodes 这里是KML文件。

<Placemark> 
<name>Head north on Jalan Kebagusan Raya toward Jalan Anggrek</name> 
<description><![CDATA[go 850&#160;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"); 
     } 

,但是当我在真实设备/模拟器尝试,我得到的东西,我不想。 这是我的真实设备 enter image description here

从scrshot截图,我只是想“东北头惹Darmo卡利向惹Darmoerjo 4”抢信息。只是它。

你能帮我解决我的问题吗?

在此先感谢,并为我的英语很抱歉,感谢:)

回答

1

类似下面应该做你想要什么。

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"); 

    //..... 
    } 
}