我最近遇到了这个问题 - 当我尝试使用NANT XMLPOKE任务替换Wix产品版本号时,它返回以下错误消息"找不到匹配的节点"。
<xmlpoke file="..\Setup\abc.wxs" xpath="//Wix/Product[@Version]" value="${version.label}" >
最初我认为这是我写的XPATH语句的问题。所以我一直在尝试使用不同的XPATH(比如\ Wix),我不断收到相同的消息。
从博客中了解到,由于使用WiX元素进行名称空间定义,这种情况正在发生。如果有人找不到博客,请在下面找到解决方案。
答案 0 :(得分:0)
由于Wix元素中的命名空间定义,问题发生了。您必须添加以下更改才能使XMLPOKE正常工作:
<xmlpoke file="..\Setup\abc.wxs" xpath="//wx:Wix/wx:Product/@Version" value="${version.label}" >
<namespaces>
<namespace prefix="wx" uri="http://schemas.microsoft.com/wix/2006/wi" />
</namespaces>
</xmlpoke>