我從少數XML格式轉換爲一種標準。 我的XSL看起來像下列操作之一:在Firefox和IE中使用XSLT進行XML到XML轉換
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:output method="xml" encoding="UTF-8" indent="yes" omit-xml-declaration="yes"/>
<xsl:template match="list | store">
<list>
<xsl:for-each select="item | product | product-store">
<item>
<name>
<xsl:choose>
<xsl:when test="name"><xsl:value-of select="substring-before(name, ' ')" /></xsl:when>
<xsl:otherwise><xsl:value-of select="name | title" /></xsl:otherwise>
</xsl:choose>
</name>
<desc>
<xsl:choose>
<xsl:when test="name"><xsl:value-of select="substring-after(name, ' ')" /></xsl:when>
<xsl:otherwise><xsl:value-of select="desc" /></xsl:otherwise>
</xsl:choose>
</desc>
<nr><xsl:value-of select="index | number" /></nr>
</item>
</xsl:for-each>
</list>
</xsl:template>
</xsl:stylesheet>
我的示例XML是
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<?xml-stylesheet type="text/xsl" href="transform.xsl"?>
<list>
<item>
<index>1362242627</index>
<name>test 22</name>
</item>
<item>
<index>2362625609</index>
<name>test 4</name>
</item>
<item>
<index>736274650</index>
<name>test 76</name>
</item>
</list>
爲什麼它不正確地在瀏覽器中顯示如Firefox 17,IE9和谷歌Chrome?它們顯示爲普通文本,但返回類型爲「text/xml」。 它僅在Opera中正常工作。
這似乎是一個好答案。剛纔我使用了一些工具來轉換XSL,並且它已被正確轉換。 – deem