我将链接到使用以下属性中的'name'属性转换XML:
<books>
<book name="TheBumperBookOfXMLProgramming"/>
<book name="XsltForDummies"/>
</books>
到称为name属性中的元素:
<books>
<TheBumperBookOfXMLProgramming/>
<XsltForDummies/>
</books>
使用XSLT。有什么想法吗?
答案 0 :(得分:4)
您可以使用xsl:element
按名称创建元素:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/">
<books>
<xsl:apply-templates />
</books>
</xsl:template>
<xsl:template match="book">
<xsl:element name="{@name}" />
</xsl:template>
</xsl:stylesheet>
答案 1 :(得分:3)
<xsl:template match="book">
<xsl:element name="{@name}">
<xsl:copy-of select="@*[name()!='name'] />
</xsl:element>
</xsl:template>
这也会复制<book>
上未命名为'name'的任何属性
<book name="XsltForDummies" id="12" />
将变成
<XsltForDummies id="12 />