XML Преобразования файлов для внутреннего текста элемента? - PullRequest
0 голосов
/ 19 марта 2020

Я нахожусь в процессе настройки конвейера выпуска для одного из наших решений, но я пытаюсь использовать преобразования файлов в моем web.config для изменения внутренних текстовых значений элементов.

Из чего это Похоже, вы можете заменить / insert / et c значения, прикрепленные к указанным c атрибутам, но не к внутреннему тексту. Означает ли это, что я не смогу использовать преобразования файлов для своих целей?

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

Это значение "True" должно быть заменено на False. Есть довольно много подобных случаев, которые необходимо заменить. Можно ли это сделать с помощью XML преобразований файлов? Я не могу использовать метод подстановки переменных, поскольку он применяется только к определенным элементам, таким как connectionString и т. Д. c.

Заранее спасибо.

1 Ответ

1 голос
/ 19 марта 2020

Вы можете использовать простое 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

...