从 WiX 更改 XML 节点值 [英] Change XML node values from WiX
本文介绍了从 WiX 更改 XML 节点值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我希望能够从 WiX 更改 XML 节点值.XML 结构如下所示:
I want to be able to change an XML node value from WiX. The XML structure looks like this:
<settings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<setting name="setting1">
<value xsi:type="xsd:boolean">false</value>
</setting>
<setting name="setting2">
<value xsi:type="xsd:string">hello</value>
</setting>
</settings>
我想将 setting2 的字符串值更改为其他值.我正在尝试使用 XmlConfig
并且不起作用的代码如下所示:
I want to change the string value of setting2 to something else. I'm trying to use XmlConfig
and the code that is not working looks like this:
<util:XmlConfig Id='SetSetting2' File='[#defaultSettings.xml]'
Action='create' Node='value'
ElementPath="//settings/setting[\[]@name='setting2'[\]]/value"
Name='value' Value="test"
On='install' PreserveModifiedDate='yes'
VerifyPath="//settings/setting[\[]@name='setting2'[\]]/value/"/>
但这会生成如下所示的 XML:
But this produces XML looking like this:
<setting name="setting2">
<value xsi:type="xsd:string" value="test"></value>
</setting>
如何使它看起来像下面这样?
How do I make it look like the following?
<setting name="setting2">
<value xsi:type="xsd:string">test</value>
</setting>
推荐答案
尝试省略 Name
属性.像这样:
Try omitting the Name
attribute. Like this:
<util:XmlConfig Id='SetSetting2'
File='[#defaultSettings.xml]'
Action='create'
Node='value'
ElementPath="//settings/setting[\[]@name='setting2'[\]]/@value"
Value="test"
On='install'
PreserveModifiedDate='yes'
VerifyPath="//settings/setting[\[]@name='setting2'[\]]/@value/"/>
另见XmlConfig 元素.对于属性 Name
它说:
不设置此属性会导致设置元素的文本值.否则这指定了设置的属性名称.
Not setting this attribute causes the element's text value to be set. Otherwise this specified the attribute name that is set.
这篇关于从 WiX 更改 XML 节点值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文