【问题标题】:error LGHT0204: ICE03 while writing XPath query to get empty nodes错误 LGHT0204:ICE03 在编写 XPath 查询以获取空节点时
【发布时间】:2014-09-16 02:48:49
【问题描述】:

我正在尝试在我的 Wix 安装程序中编写一个 XPath 查询来选择具有零个子元素的节点。 我的元素路径看起来像这样,因为它是一个格式化的字符串,我转义了方括号。

ElementPath="a/b[\[]not(node())[\]"  

我相信翻译成

a/b[not(node())]

我的 xml 格式为

<a>
  <b><x/><y/></b>
  <b/>
  <b><z/></b>
</a>

我希望我的元素路径选择没有子元素的第二个元素。当我在安装程序上运行时,它会引发无效格式错误。请建议我哪里出错了。 另外,如果我必须选择具有特定值的节点, 这是正确的方法吗?

ElementPath="a/b[\[]z[\]"

这样我选择第三个节点作为子元素

【问题讨论】:

    标签: xpath wix


    【解决方案1】:

    我认为您需要在表达式中添加另一个右方括号:

    ElementPath="a/b[\[]not(node())[\]]"
    

    注意这部分用于转义左方括号:

    [\[]
    

    还有一个转义右方括号的重要部分:

    [\]]
    

    您可以将我上面提到的两个重要部分中的每一个都视为转义方括号部分 \] 包含在另一个方括号 [] 中。把它们放在一起,就变成了[\]]

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-13
      • 2015-12-18
      • 1970-01-01
      • 1970-01-01
      • 2023-02-01
      • 1970-01-01
      • 2011-04-14
      相关资源
      最近更新 更多