加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xml – 如何使用XSLT重命名属性?

发布时间:2020-12-16 07:43:24 所属栏目:百科 来源:网络整理
导读:我有一个这样的xml: person name="foo" gender = "male" / 我想把它变成 person id="foo" gender="male" / 有没有办法使用XSLT? 我将有很多子节点 我会在这个人身上有更多的属性. 这很简单:使用身份转换并创建一个转换name属性的模板: xsl:template matc
我有一个这样的xml:
<person name="foo" gender = "male" />

我想把它变成

<person id="foo" gender="male" />

有没有办法使用XSLT?

>我将有很多子节点
我会在这个人身上有更多的属性.

这很简单:使用身份转换并创建一个转换name属性的模板:
<xsl:template match="node()|@*">
  <xsl:copy>
    <xsl:apply-templates select="node()|@*"/>
  </xsl:copy>
</xsl:template>

<xsl:template match="@name">
   <xsl:attribute name="id">
      <xsl:value-of select="."/>
   </xsl:attribute>
</xsl:template>

这将保留文档中的所有内容,除了名称属性完全一样.如果您只想更改person元素上的name属性,则在模板的匹配属性中放置更多限制性XPath,例如.人/ @名称.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读