我有一个这样的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,例如.人/ @名称.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。