gpt4 book ai didi

xml - 使用 XSLT 更改单个属性

转载 作者:数据小太阳 更新时间:2023-10-29 01:48:07 25 4
gpt4 key购买 nike

您能想到的最简单的 XSLT 是什么来转换第一个值,在本例中,/configuration/system.web/compilation/@debug 属性从 truefalse

最佳答案

这个转换:

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
>
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>

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

<xsl:template match="system.web/compilation[1]/@debug">
<xsl:attribute name="debug">false</xsl:attribute>
</xsl:template>
</xsl:stylesheet>

应用于此 XML 文档时:

<configuration>
<system.web>
<compilation debug="true" defaultLanguage="C#">
<!-- this is a comment -->
</compilation>

<compilation debug="true" defaultLanguage="C#">
<!-- this is another comment -->
</compilation>
</system.web>
</configuration>

产生想要的、正确的结果:修改 debug第一个的属性 compilation任何 system.web 的 child 元素(但我们知道配置文件中只有一个 system.web 元素。

<configuration>
<system.web>
<compilation debug="false" defaultLanguage="C#">
<!-- this is a comment -->
</compilation>
<compilation debug="true" defaultLanguage="C#">
<!-- this is another comment -->
</compilation>
</system.web>
</configuration>

正如我们所见,只有第一个 debug属性修改为 false , 根据需要。

关于xml - 使用 XSLT 更改单个属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2993283/

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