WIX XmlConfig VerifyPath转义

时间:2017-10-19 14:51:37

标签: xml xpath wix wix3.7

我正在使用WIX在文件中添加XML元素。当我的util:XmlConfig元素具有如下的VerifyPath属性时:

VerifyPath="/configuration/App/add[@key='ApiURL']"
什么也没发生。现在我已将其更改为这样(基于我在代码库中其他地方找到的其他代码):

VerifyPath="/configuration/App/add[\[]@key='ApiURL'[\]]"

正确添加元素。什么是逃避,为什么有必要?

2 个答案:

答案 0 :(得分:1)

我试图独立地找出与您相同的问题的答案,但找到了回答您问题here的线索。这个StackOverflow答案使我想到了document有关Windows Installer中格式化类型的信息。

我已在下面复制了相关文本,但简而言之"[\[]"是如何获取文字"["的字符。

  

如果找到格式为[\ x]的子字符串,则将其替换为字符x,其中x是一个字符,无需任何进一步处理。仅保留反斜杠后的第一个字符;其他所有内容都将被删除。例如,要包含文字左括号([),请使用[\ []。文本[\ []括号文本[\]]解析为[括号文本]。

答案 1 :(得分:0)

如果我在Wix工具集中正确理解了XPath规范及其如何工作,这些字符表明要使用 add 属性完成工作,其中值为<强>键

<configuration>
    <App>
        <add key='ApiURL'/>
    </App>
</configuration>

但我们需要朝这个方向看。我自己还没有找到具体细节。