Android - 使用 DOM 解析器的 KML 解析器

标签 android xml android-xml android-maps

我这里有个问题。 我想从谷歌地图解析 KML 文档。我会成功解析存储坐标的节点。

但我想将节点解析为子节点 这是 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

从截图中,我只想获取“在 Jalan Darmo Kali 向东北方向朝 Jalan 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");

    //.....
    }
}

关于Android - 使用 DOM 解析器的 KML 解析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10671661/

相关文章:

java - .read() 抛出间歇性 SocketTimeoutException,即使数据应该存在

java - Listview headerView 和拉动刷新 - android

javascript - 如何使用 xml2js(而不是使用下划线键)访​​问 XML 元素文本?

java - 使用 apache.commons.configuration.tree.ConfigurationNode.getValue() 在标签值中包含 ","时未获取整个标签值

javascript - 有什么办法可以在从js生成的excel文件上设置安全内容吗?

安卓|找不到以下类 : menu and item

android - 从 RxJava2 迁移到 Kotlin 协程

android - 无法从 Shared Preferences Android 检索 boolean 值

java - 启动画面显示太快,然后进入下一个 Java 类

android - 获取/更改我的应用程序的命名空间?