XSLT嵌套节点转换

时间:2014-10-16 18:30:14

标签: xslt

我有转换的xml和xsl 问题是我不知道我想要转换的节点的嵌套级别。当没有嵌套且我的元素是根节点时,转换工作正常。否则它不会。我确定我错过了什么。如果我不知道要解析的xml的嵌套结构,我怎么能得到节点。我的意思是我的元素可以在里面

<stack>
    <cell>
        <myelem>text here</myelem>
    </cell>
<stack>

<forms>
    <form>
        <stack>
            <cell>
                <stack>
                    <cell>
                        <myelem>text here</myelem>
                    </cell>
                <stack>
            </cell>
        <stack>
    </form>
</forms>

或更复杂的结构

2 个答案:

答案 0 :(得分:1)

您可以使用:

//myelem

从根目录开始在文档中的任意位置选择myelem

这样做的缺点是:

  1. 性能较慢;
  2. 它确实在任何级别选择所有 myelem个节点 - 即您无法在不同级别选择具有相似名称的元素。

答案 1 :(得分:0)

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

将适用于myelem,无论其嵌套级别如何,考虑到有关如何匹配和应用模板的所有常规警告。