gpt4 book ai didi

xml - 如何更改节点值 xslt

转载 作者:行者123 更新时间:2023-12-04 03:21:13 24 4
gpt4 key购买 nike

我想对一个 xml 进行一些修改,我尝试使用 xslt 语句,但我无法做到,复制后我在尝试进行更改时删除了子节点。
有 xml 发布:

`

<tree>
<sublevel>
<definition>subnetting</definition>
<status>availabe</status>
<categories>
<category>
<label>IPV4</label>
<attributes>
<attribute>
<label>MASK</label>
<value>/24</value>
</attribute>
<attribute>
<label>STARTING_IP</label>
<value>10.0.0.1</value>
</attribute>
<attribute>
<label>Type</label>
<value>4</value>
</attribute>
</attributes>
</category>
</categories>
<identifier>subnetworkipv4correct</identifier>
</sublevel>
</tree>

我想用一个 xslt 来执行输出:

`
<tree>
<sublevel>
<definition>subnetting</definition>
<status>availabe</status>
<origen>template</origen>
<categories>
<category>
<label>IP</label>
<attributes>
<attribute>
<label>Mask</label>
<value>/24</value>
</attribute>
<attribute>
<label>START</label>
<value>10.0.0.1</value>
</attribute>
<attribute>
<label>Version</label>
<value>4</value>
</attribute>
</attributes>
</category>
</categories>
<identifier>subnetworkipv4correct</identifier>
</sublevel>
</tree>

`

我已经测试了很多模板,但我无法做到。

最佳答案

您需要更准确地了解您想要做的事情以获得完整的答案,但希望一些提示会有所帮助。使用身份模板,并为需要删除/更改的特定元素覆盖它。

删除 origen元素,使用这个:

<xsl:template match="origen"/>

这只是匹配它,不输出任何内容,有效地删除它。

修改 label元素,你可以使用这个:
<xsl:template match="category/label[. = 'IPV4']/text">IP</xsl:template>

或者:
<xsl:template match="category/label/text()">
<xsl:choose>
<xsl:when test=". = 'IPV4']">IP</xsl:when>
<xsl:otherwise>(default)</xsl:otherwise>
</xsl:choose>
</xsl:template>

您可以以类似的方式更改其他元素的值。

关于xml - 如何更改节点值 xslt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38265509/

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