我正在使用WIX在文件中添加XML元素。当我的util:XmlConfig元素具有如下的VerifyPath属性时:
VerifyPath="/configuration/App/add[@key='ApiURL']"
什么也没发生。现在我已将其更改为这样(基于我在代码库中其他地方找到的其他代码):
VerifyPath="/configuration/App/add[\[]@key='ApiURL'[\]]"
正确添加元素。什么是逃避,为什么有必要?
答案 0 :(得分:1)
我试图独立地找出与您相同的问题的答案,但找到了回答您问题here的线索。这个StackOverflow答案使我想到了document有关Windows Installer中格式化类型的信息。
我已在下面复制了相关文本,但简而言之"[\[]"
是如何获取文字"["
的字符。
如果找到格式为[\ x]的子字符串,则将其替换为字符x,其中x是一个字符,无需任何进一步处理。仅保留反斜杠后的第一个字符;其他所有内容都将被删除。例如,要包含文字左括号([),请使用[\ []。文本[\ []括号文本[\]]解析为[括号文本]。
答案 1 :(得分:0)
如果我在Wix工具集中正确理解了XPath规范及其如何工作,这些字符表明要使用 add 属性完成工作,其中值为<强>键强>
<configuration>
<App>
<add key='ApiURL'/>
</App>
</configuration>
但我们需要朝这个方向看。我自己还没有找到具体细节。