2010-05-24 3 views
3

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

<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> 

ответ

5

Вы можете применить переводчик шаблонов 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 из a documentation example)

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