元素内部文本的 XML 文件转换?
Posted
技术标签:
【中文标题】元素内部文本的 XML 文件转换?【英文标题】:XML File Transformations for inner text of an element? 【发布时间】:2020-06-30 14:49:21 【问题描述】:我正在为我们的一个解决方案设置发布管道,但我正在努力在我的 web.config 上使用文件转换来更改元素的内部文本值。
从外观上看,您可以替换/插入/etc 附加到特定属性的值,但不能替换内部文本。这是否意味着我将无法将文件转换用于我的目的?
<setting name="Test" serializeAs="String">
<value>True</value>
</setting>
必须将“True”值替换为 False。有很多类似的实例需要替换。这可以通过 XML 文件转换来完成吗?我不能使用变量替换方法,因为它只适用于某些元素,如连接字符串等。
提前致谢。
【问题讨论】:
【参考方案1】:您可以使用简单的 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
【讨论】:
谢谢,这成功了。看起来很简单,除了语法之外,我只是不熟悉转换的工作原理。以上是关于元素内部文本的 XML 文件转换?的主要内容,如果未能解决你的问题,请参考以下文章
如何将base64的文本文件转换为xml文件(或任何其他类型的文件)
是否有任何现成的 xslt 文件可以将 ODF 内容 xml 转换为纯文本?