xslt无法按预期使用root元素

时间:2015-10-07 13:47:22

标签: xml xslt xpath

我有xml如下

   <pin>
        <securityProfile>
            <userName>userName</userName>
        </securityProfile>
    </pin>

预期输出

     <user_id>
          <userName>userName</userName>
    </user_id>

xslt

    

<xsl:template match="/pin">
    <user_id>
        <xsl:apply-templates select="securityProfile/userName"/>
    </user_id>      
</xsl:template>

<xsl:template match="userName">
    ..........................
</xsl:template> 

如果我将<xsl:template match="/pin">更改为<xsl:template match="/">,那么它就无法正常工作。原因可能是什么。其中pin是根元素。

提前致谢..

1 个答案:

答案 0 :(得分:1)

  

如果我将<xsl:template match="/pin">更改为&lt; xsl:template match="/">,则表示无效。

如果你改变了,你还需要改变:

<xsl:apply-templates select="securityProfile/userName"/>

为:

<xsl:apply-templates select="pin/securityProfile/userName"/>

否则,您将模板应用于不存在的节点。