如何使用XSLT重命名XML标签
发布时间:2020-12-16 07:56:39 所属栏目:百科 来源:网络整理
导读:这是我的XML- CATALOG NAMEC1/NAME CD NAMEEmpire Burlesque/NAME ARTISTBob Dylan/ARTIST COUNTRYUSA/COUNTRY COMPANYColumbia/COMPANY PRICE10.90/PRICE YEAR1985/YEAR /CD CD NAMEHide your heart/NAME ARTISTBonnie Tyler/ARTIST COUNTRYUK/COUNTRY COMP
这是我的XML-
<CATALOG> <NAME>C1</NAME> <CD> <NAME>Empire Burlesque</NAME> <ARTIST>Bob Dylan</ARTIST> <COUNTRY>USA</COUNTRY> <COMPANY>Columbia</COMPANY> <PRICE>10.90</PRICE> <YEAR>1985</YEAR> </CD> <CD> <NAME>Hide your heart</NAME> <ARTIST>Bonnie Tyler</ARTIST> <COUNTRY>UK</COUNTRY> <COMPANY>CBS Records</COMPANY> <PRICE>9.90</PRICE> <YEAR>1988</YEAR> </CD> </CATALOG> 我想将目录中的NAME标签替换为CATALOG-NAME,将CD中的NAME标签替换为CD-NAME,这应该使我的xml看起来像这样, <CATALOG> <CATALOG-NAME>C1</CATALOG-NAME> <CD> <CD-NAME>Empire Burlesque</CD-NAME> <ARTIST>Bob Dylan</ARTIST> <COUNTRY>USA</COUNTRY> <COMPANY>Columbia</COMPANY> <PRICE>10.90</PRICE> <YEAR>1985</YEAR> </CD> <CD> <CD-NAME>Hide your heart</CD-NAME> <ARTIST>Bonnie Tyler</ARTIST> <COUNTRY>UK</COUNTRY> <COMPANY>CBS Records</COMPANY> <PRICE>9.90</PRICE> <YEAR>1988</YEAR> </CD> </CATALOG>
对要重命名的元素使用带有覆盖的标识变换:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="@*|node()"> <xsl:copy> <xsl:apply-templates select="@*|node()" /> </xsl:copy> </xsl:template> <xsl:template match="CD/NAME"> <CD-NAME><xsl:apply-templates select="@*|node()" /></CD-NAME> </xsl:template> <xsl:template match="CATALOG/NAME"> <CATALOG-NAME><xsl:apply-templates select="@*|node()" /></CATALOG-NAME> </xsl:template> </xsl:stylesheet> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |