简单的xml属性值在html文件中获取使用xslt

时间:2013-02-08 10:52:06

标签: javascript jquery xml xslt xpath

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文件中输出这个输出怎么可能 请帮我解决这个问题

1 个答案:

答案 0 :(得分: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

如果使用值“Asia”,输出将为:

india 

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

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

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