在XmlFile元素中的xpath中添加命名空间(Wix Util扩展名)

在XmlFile元素中的xpath中添加命名空间(Wix Util扩展名),wix,wix-extension,Wix,Wix Extension,wix中XmlFile元素的ElementPath属性接受xpath来选择目标。如何在这个xpath中包含名称空间前缀?据我所知,这似乎是一个bug或者更好:一个未实现的特性,因为最终存在的默认名称空间没有被util:XmlFile-元素公开。 根据此条目中的第一条注释,您可以使用util:XmlConfig来解决此问题,它应该在空名称空间中查找所需的节点/元素 Edit:我找到了另一种使用它的方法:根据@LarsH的说法,您可以使用以下类似的方法(我自己没有测试过,但因为它似乎是一个有效的XP

wix中
XmlFile
元素的
ElementPath
属性接受xpath来选择目标。如何在这个xpath中包含名称空间前缀?

据我所知,这似乎是一个bug或者更好:一个未实现的特性,因为最终存在的默认名称空间没有被
util:XmlFile
-元素公开。
根据此条目中的第一条注释,您可以使用
util:XmlConfig
来解决此问题,它应该在空名称空间中查找所需的节点/元素

Edit:我找到了另一种使用它的方法:根据@LarsH的说法,您可以使用以下类似的方法(我自己没有测试过,但因为它似乎是一个有效的XPath 1.0表达式,所以应该正常工作):


请记住转义方括号,即
[…]
应该变成
[\[…[\]]

在标记不起作用之前添加名称空间?例如,
/myns:MyTagName
目标xml文档在根元素使用默认名称空间,没有任何名称空间前缀,我无法找到任何方法将前缀与XmlFile元素中的xml名称空间相关联。我自己没有尝试过,但我发现您也必须在XSLT文件中声明此默认名称空间(我想您可以访问的地方)使用前缀,例如
a:xmlns=http://my.default.namespace/taken/from/xml/file“
,然后在XSLT文件中使用此前缀访问元素,例如,
/a:MyTagName
。很抱歉,将加热结果的转换与XSLT混淆了。忽略我上面的回答。
"*[local-name() = 'foo' and namespace-uri() = 'http://my.org/ns/2.0']"