xslt 2.0在上层插入节点

时间:2013-11-18 13:46:52

标签: xslt xslt-2.0

我有一个xml:

<?xml version="1.0"?>
<A>
    <B>
        <C>12</C>
        <C>44</C>
        <C>221</C>
    </B>
    <D>
        <E></E>
        <F></F>
        <INFO>hello world</INFO>
    </D>
</A>

目前我正处于C个节点

的模板中
<xsl:template match="A/B/C">
...
</xsl:template>

如何在内部 A/B/C模板中添加上层的新节点

我想在<USER>节点

之后添加节点<INFO>

所以它会像:

<?xml version="1.0"?>
<A>
    <B>
        <C>12</C>
        <C>44</C>
        <C>221</C>
    </B>
    <D>
        <E></E>
        <F></F>
        <INFO>hello world</INFO>
        <USER>root</USER>
    </D>
</A>

1 个答案:

答案 0 :(得分:1)

  

如何在A / B / C模板内部添加新级别的节点

你做不到。在XSLT中,结果树节点写入IN ORDER。您可以随时自由地访问源树中的任何内容,因此您需要根据输出的结构构建样式表,并且在您可能想要添加节点的位置,您需要在此时查找是否输出它的条件。

如果存在严重的结构冲突导致这种困难,请考虑进行多次转换。