从 WiX 更改 XML 节点值 [英] Change XML node values from WiX

查看:28
本文介绍了从 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆