gpt4 book ai didi

xml - Xslt:将节点添加到根元素

转载 作者:数据小太阳 更新时间:2023-10-29 02:21:10 24 4
gpt4 key购买 nike

我有一个简单的 XML 文件:

<MyRoot>
<Value key="TARGET">foo</Value>
<Value key="MODEL">bar</Value>
<Value key="MANUFACTURER">bla</Value>
</MyRoot>

我想使用 XSLT 将值节点添加到 MyRoot。我不知道怎么办。

结果应该是:

<MyRoot>
<Value key="TARGET">foo</Value>
<Value key="MODEL">bar</Value>
<Value key="MANUFACTURER">bla</Value>
<Value key="NEWNODE">yeahIMadeIt</Value>
</MyRoot>

我目前拥有的是:

<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="/">
<xsl:apply-templates select="@* | *"/>
<Value key="NEWNODE">yeahIMadeIt</Value>
</xsl:template>

但这会将新的 Value 节点置于根节点下:

<MyRoot>
<Value key="TARGET">foo</Value>
<Value key="MODEL">bar</Value>
<Value key="MANUFACTURER">bla</Value>
</MyRoot>
<Value key="NEWNODE">yeahIMadeIt</Value>

最佳答案

您走在正确的轨道上。您需要更改模板匹配。尝试:

<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()" />
</xsl:copy>
</xsl:template>

<xsl:template match="MyRoot">
<xsl:copy>
<xsl:apply-templates select="@* | node()" />
<Value key="NEWNODE">yeahIMadeIt</Value>
</xsl:copy>
</xsl:template>

关于xml - Xslt:将节点添加到根元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6735553/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com