我有XML节点如下添加缺少的节点XML:使用XSL
<AA title="xx">
<BB/>
<AA><title>yy</title></AA>
<AA title="zz"></AA>
</AA>
title
内AA
节点有时是一个属性,有时它是一个子节点。我需要将它全部装入一个节点。这意味着如果标题节点缺失,我需要创建一个并从属性复制值。
我该如何使用XSL来做到这一点?我试图用这个,但它不起作用:
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="AA">
<xsl:copy>
<xsl:if test="not(/title)">
<title><xsl:valueOf select="@title"/></title>
</xsl:if>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
该错误消息“‘的xsl:的valueOf’不能是‘标题’元素的孩子。” –
什么,确切地说,“不起作用”是什么意思?它有什么作用?你有没有看到任何错误?您是否尝试修复您的XSL处理器报告的任何错误?一旦你修复了它们会发生什么? –