WIX XmlConfig验证路径转义
我正在使用WIX在文件中添加一个XML元素。当my util:XmlConfig元素具有如下VerifyPath属性时:WIX XmlConfig验证路径转义,xml,xpath,wix,wix3.7,Xml,Xpath,Wix,Wix3.7,我正在使用WIX在文件中添加一个XML元素。当my util:XmlConfig元素具有如下VerifyPath属性时: VerifyPath="/configuration/App/add[@key='ApiURL']" 什么也没发生。现在我把它改成了这样(基于我在代码库其他地方找到的一些其他代码): 它正确地添加了元素。这种转义是什么,为什么有必要?如果我正确理解XPath规范以及它在Wix工具集中是如何工作的,这些字符表示要使用add属性完成工作,该属性中有一个key <confi
VerifyPath="/configuration/App/add[@key='ApiURL']"
什么也没发生。现在我把它改成了这样(基于我在代码库其他地方找到的一些其他代码):
它正确地添加了元素。这种转义是什么,为什么有必要?如果我正确理解XPath规范以及它在Wix工具集中是如何工作的,这些字符表示要使用add属性完成工作,该属性中有一个key
<configuration>
<App>
<add key='ApiURL'/>
</App>
</configuration>
但我们需要朝这个方向看。我自己还没有找到具体细节。我正试图独立地找出与你相同问题的答案,我找到了回答你问题的线索。这个StackOverflow的回答让我想到了关于Windows Installer中格式化类型的问题 我已经复制了下面的相关文本,但简而言之,
“[\[]”
是如何获得文字“[”
字符的
如果找到格式为[\x]的子字符串,则将其替换为字符x,其中x是一个字符,无需任何进一步处理。仅保留反斜杠后的第一个字符,其他所有字符都将被删除。例如,要包含文字左括号([),请使用[\[]。文本[\[]括号文本[\]]解析为[括号文本]
我认为您正确理解了XPath规范,这在第一个示例中是准确的。第二个示例不是XPath,但这段代码需要运行。奇怪的转义应该会破坏XPath,我不理解。
<configuration>
<App>
<add key='ApiURL'/>
</App>
</configuration>