【发布时间】:2015-02-17 22:21:01
【问题描述】:
我想在 XSLT 中动态设置节点名称。
我的 XSLT 如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/>
<xsl:template match="/">
<xsl:variable name="sam" select="elementName"/>
<Body>
<xsl:element name="{$sam}">
<PacketControlInfo>
<abc>123</abc>
</PacketControlInfo>
</xsl:element>
</Body>
</xsl:template>
</xsl:stylesheet>
在Body之后,我希望节点名称由变量"sam"、<xsl:element name="{$sam}">设置。有人可以帮忙,这样我的输出应该是这样的吗?
<Body>
<elementName>
<PacketControlInfo>
<abc>123</abc>
</PacketControlInfo>
</elementName>
</Body>
在上面的XML中可以看到Body下面的节点名已经改为"elementName",变量"sam"的值。
【问题讨论】:
-
“动态”部分在哪里?你希望你的变量是一个常数;为什么你需要它?
标签: xslt