XSLT - 如何仅输出属性值并忽略元素的值



我是一个有菜鸟问题的菜鸟。

我正在尝试 XML -> XSLT -> XML 转换,以将在供应商平台中创建的内容与传统发布渠道集成。

我被卡住了。输入 XML 文档有一个值作为属性,我希望该值作为输出 XML 文档中的新元素文本。我可以这样做,但我想忽略原始 xml 文档中元素的值,它不会消失!

感谢您的帮助。下面是示例:

输入 XML<author value="Firstname LASTNAME">123456789</author>

所需的输出 XML<owner>Firstname LASTNAME</owner>

损坏的 XSLT

<xsl:template match="author">
<owner>
<xsl:value-of select="@display_value" />
</owner>
<xsl:apply-templates></xsl:apply-templates>
</xsl:template>

XSLT 损坏的 XML 结果

<owner>Fistname LASTNAME</owner>123456789

您从原始xml文档中看到了元素的值,我希望它消失。我不需要它。我哪里做错了?

从代码中删除apply-templates表达式将完成任务

<xsl:template match="author">
<owener>
<xsl:value-of select="@value"/>
</owener>
</xsl:template>

最新更新