gpt4 book ai didi

xml - 从 WiX 更改 XML 节点值

转载 作者:数据小太阳 更新时间:2023-10-29 02:21:18 25 4
gpt4 key购买 nike

我希望能够从 WiX 更改 XML 节点值。 XML 结构如下所示:

<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 并且不起作用的代码如下所示:

<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:

<setting name="setting2">
<value xsi:type="xsd:string" value="test"></value>
</setting>

如何让它看起来像下面这样?

<setting name="setting2">
<value xsi:type="xsd:string">test</value>
</setting>

最佳答案

尝试省略 Name 属性。像这样:

<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 Element 。对于属性 Name 它说:

Not setting this attribute causes the element's text value to be set. Otherwise this specified the attribute name that is set.

关于xml - 从 WiX 更改 XML 节点值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5042062/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com