Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WIX XmlConfig验证路径转义_Xml_Xpath_Wix_Wix3.7 - Fatal编程技术网

WIX XmlConfig验证路径转义

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

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

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>