如果无法访问 XML 文件或数据,您如何重现 Web 页面正在使用 XSL 转换的 XML 文件的副本?
我可以访问包含 XSL 代码的 xml.config 文件。我找到了输出 XML 文件的所有数据的解决方案,但它没有帮助,因为它是一堵价值墙。它不包含 xml 标签,也不提供节点树。
使用:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="/">
<xsl:copy-of select="."/>
</xsl:template>
</xsl:stylesheet>
当此转换应用于任何 XML 文档时,例如这个:
<nums>
<num>01</num>
<num>02</num>
<num>03</num>
<num>04</num>
<num>05</num>
<num>06</num>
<num>07</num>
<num>08</num>
<num>09</num>
<num>10</num>
</nums>
产生了想要的结果——相同的 XML 文档:
<nums>
<num>01</num>
<num>02</num>
<num>03</num>
<num>04</num>
<num>05</num>
<num>06</num>
<num>07</num>
<num>08</num>
<num>09</num>
<num>10</num>
</nums>
好吧,如果您只需要查看数据,则可以使用如下简单的方法:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" indent="yes"/>
<xsl:template match="*">
<xsl:value-of select="concat('<',name())" />
<xsl:apply-templates select="@*" />
<xsl:text>></xsl:text>
<xsl:apply-templates select="node()"/>
<xsl:value-of select="concat('</',name(),'>')" />
</xsl:template>
<xsl:template match="@*">
<xsl:value-of select="concat(' ',name(),'="',.,'"')" />
</xsl:template>
</xsl:stylesheet>
这不会输出注释或处理指令,但如果您只需要查看文档的数据和结构就足够了。如果您需要更详细的内容,您可能会找到一个将 XML 文档转换为显示它的网页的 xslt。我有一个正在进行中的工作:http: //www.flynn1179.net/xml/DisplayXml.xslt。我在我的网站上使用它,但周围可能有更好的东西。