xml - 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>
推荐阅读
- assembly - 在 32 位汇编中排序和更改值
- java - 声明实例变量并实现getter方法?
- javascript - 我需要使用 Javascript 将信息更新到 JSON 文件
- go - 现在所有的 go 库都可以在 GOPATH 之外运行吗?
- java - 我正在学习为包中的接口单独编写实现类,但不断出错?
- datatable - 如何在 Vuetify Datatable 中检索过滤的项目
- sql - 将 JSON 转换为 SQL 行
- ruby - 当输入是字符串或浮点数时,如何返回“无效”而不是数组的总和
- c# - 使用 Task.Run 编写异步方法
- bash - 将包含大括号的字符串传递给 helm 导致:错误:解析失败 --set data: key