如何使用嵌套标签创建父级标签



我有一个XML文件,如下所示:

<SNS>
<SN>aaaa</SN>
<SN>bbbb</SN>
<LN>cccc</LN>
<SN>dddd</SN>
<SN>eeee</SN>
<LN>ffff</LN>
</SNS>

所需输出:

<SN>aaaa</SN>
<LN>cccc</LN>
<SN>bbbb</SN>
<LN>cccc</LN>
<SN>dddd</SN>
<LN>ffff</LN>
<SN>eeee</SN>
<LN>ffff</LN>

如何添加每个带有<LN><SN>标签?

只需处理所有SN元素,并在它们的模板中复制以下同级LN

  <xsl:template match="SNS">
      <xsl:apply-templates select="SN"/>
  </xsl:template>  
  <xsl:template match="SN">
      <xsl:copy-of select="., following-sibling::LN[1]"/>
  </xsl:template>

https://xsltfiddle.liberty-development.net/pPzifq2

在 XSLT 3 中,您还可以简单地处理每个SN及其同级LN,并推动它们完成标识转换:

  <xsl:mode on-no-match="shallow-copy"/>
  <xsl:template match="SNS">
      <xsl:apply-templates select="SN!(., following-sibling::LN[1])"/>
  </xsl:template>

https://xsltfiddle.liberty-development.net/pPzifq2/1

相关内容

  • 没有找到相关文章

最新更新