Как мне преобразовать этот XML в KML? - PullRequest
4 голосов
/ 24 мая 2010

Я немного новичок в этом, но мне нужно преобразовать приведенный ниже XML в формат KML, чтобы я мог добавить его в карты Google. Кто-нибудь может помочь с этим?

<messageList>
<totalCount>1</totalCount>
−
<message>
<esn>0-7396996</esn>
<esnName>JOHN</esnName>
<messageType>TEST</messageType>
<messageDetail> ALL IS WELL AT CURRENT LOCATION.</messageDetail>
<timestamp>2010-05-24T00:39:12.000Z</timestamp>
<timeInGMTSecond>1274661552</timeInGMTSecond>
<latitude>25.19483</latitude>
<longitude>65.7162</longitude>
</message>
</messageList>

1 Ответ

5 голосов
/ 24 мая 2010

Вы можете применить переводчик шаблонов XSL. Что-то вроде этого:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
    <kml xmlns="http://www.opengis.net/kml/2.2">
        <Document>
            <xsl:apply-templates select="messageList" />
        </Document>
    </kml>
</xsl:template>

<xsl:template match="messageList">
    <name>My Generated KML</name>
    <xsl:apply-templates select="message" />
</xsl:template>

<xsl:template match="message">
    <Placemark>
        <name><xsl:value-of select="esnName" /></name>
        <Point>
            <coordinates>
                <xsl:value-of select="latitude" />,<xsl:value-of select="longitude" />
            </coordinates>
        </Point>
    </Placemark>
</xsl:template>

</xsl:stylesheet>

(базовый формат KML из пример документации )

KML - это расширенный формат, и вы можете добавить гораздо больше информации, чем пара элементов, которые у меня есть.

...