嗨,我正在尝试使用w3schools XSLT Tryit编辑器转换KML文件(保存为 XML文件),但我似乎无法让它工作.这是我的XML文件的片段: ?xml version="1.0" encoding="UTF-8"?kml xmlns="http://www.opengis.net/kml/2.2" xmlns
<?xml version="1.0" encoding="UTF-8"?> <kml xmlns="http://www.opengis.net/kml/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2"> <Document> <name>Bnsf RR cut</name> <open>1</open> <Style> <ListStyle> <ItemIcon> <href>kmzicon.png</href> </ItemIcon> </ListStyle> </Style> <Folder> <name>11/10/11 8:17:20 AM</name> <Placemark> <name>Track</name> </Placemark> </Folder> <Placemark> <name>Gray Mesa</name> <description><![CDATA[<img width="800" src="1.jpg"/>]]></description> <Point> <coordinates>-106.493097,34.446357,1692.000000</coordinates> </Point> </Placemark> </Document> </kml>
而我的XSLT:
<?xml version="1.0" encoding="ISO-8859-1"?> <!-- Edited by XMLSpy® --> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <xsl:for-each select="Document/Placemark"> <xsl:value-of select="name"/> <xsl:value-of select="description"/> </xsl:for-each> </xsl:template> </xsl:stylesheet>
如果我删除XML代码中的kml标签它工作正常,但我宁愿尝试自动化这个,而不必从众多的XML中删除代码.我已经尝试将“kml”添加到我的XSLT代码“/ kml / Document / Placemark”>但那不起作用.谢谢!
我希望我的转换XML看起来像:
<Document> <Placemark> <name>Gray Mesa</name> <description><![CDATA[<img width="800" src="1.jpg"/>]]></description> <Point> <coordinates>-106.493097,34.446357,1692.000000</coordinates> </Point> </Placemark> </Document>
我认为这对我的目的有用.
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:kml="http://www.opengis.net/kml/2.2"> <xsl:template match="/"> <xsl:for-each select="kml:kml/kml:Document/kml:Placemark"> <name><xsl:value-of disable-output-escaping="yes" select="kml:name"/></name> <description><xsl:value-of disable-output-escaping="yes" select="kml:description"/></description> </xsl:for-each> </xsl:template>
但是每个名称和描述标签都包括:xmlns:kml =“http://www.opengis.net/kml/2.2”
我可以通过Access查询连接它.我尝试导入Access时遇到错误.它说我需要一个根文件夹,因为我只有很多名称和描述标签.有没有办法使用XSL添加标签.非常感谢你.对不起我一直在编辑的杂乱问题.
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:kml="http://www.opengis.net/kml/2.2"> <xsl:output method="text"/> <xsl:template match="/"> <xsl:apply-templates select="kml:kml/kml:Document/kml:Placemark"/> </xsl:template> <xsl:template match="kml:Placemark"> <xsl:value-of select="kml:name"/> <xsl:value-of select="kml:description"/> </xsl:template> </xsl:stylesheet>