XML 元素内部文本的文件转换?

XML File Transformations for inner text of an element?

我正在为我们的一个解决方案设置发布管道,但我正在努力使用 web.config 上的文件转换来更改元素的内部文本值。

从外观上看,您可以 replace/insert/etc 值附加到特定属性,但不能附加到内部文本。这是否意味着我将无法为我的目的使用文件转换?

<setting name="Test" serializeAs="String">
<value>True</value>
</setting>

"True" 值必须替换为 False。有相当多的类似实例需要更换。这可以通过 XML 文件转换来完成吗?我不能使用变量替换方法,因为它只适用于某些元素,如 connectionString 等。

提前致谢。

您可以使用简单的 XSL 转换。

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    version="1.0">

  <xsl:output method="xml" indent="yes"/>

  <xsl:template match="setting[@name='Test']/value">
    <xsl:element name="value">False</xsl:element>
  </xsl:template>

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

</xsl:stylesheet>

看到它在这里工作:https://xsltfiddle.liberty-development.net/bEzknsB