0

XML 文件如下所示:-

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="final.xsl"?>  
  <root>
    <child1 entity_id = "1" value= "Asia">
        <child2 entity_id = "2" value = "india">
            <child3 entity_id = "3" value = "Gujarat">
                <child5 entity_id = "5" value ="Rajkot"></child5>
            </child3>
            <child4 entity_id = "4" value = "Rajshthan">
                <child6 entity_id = "6" value = "Ajmer"></child6>
            </child4>
        </child2>
    </child1>
    </root>

这是我的 XSLT 代码:-

<xsl:for-each select="//child2">
    <xsl:value-of select="@value" />    
</xsl:for-each>

这是我的输出:-

   india 

我想要 html 文件中的这个输出,它怎么可能请帮我解决这个问题

4

1 回答 1

0

此 XSLT 将显示与参数值匹配的项的子项region

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="html" encoding="UTF-8"/>
  <xsl:key name="kChild" match="*[@value]" use="../@value"/>

  <xsl:param name="region" select="'india'" />

  <xsl:template match="/">
    <xsl:apply-templates select="key('kChild', $region)" />
  </xsl:template>

  <xsl:template match="*">
    <xsl:value-of select="@value"/>
    <xsl:text>&#xA;</xsl:text>
  </xsl:template>
</xsl:stylesheet>

例如,如果使用默认值“india”,输出将是:

Gujarat
Rajshthan

如果使用值“亚洲”,输出将是:

india 

为了将参数传递到 XSLT,我认为您需要在网页中使用 JavaScript 来应用 XSLT,而不是自动应用它。

这是一个包含一些代码的页面,展示了如何在 JavaScript 中应用 XSLT,以及如何将参数传递给它:

http://www.articlejobber.com/tutorial/javascript_xslt_parameters_20060303_2.html

于 2013-02-08T11:52:18.170 回答