仍然不太确定这个 xpath <*[local-name()=\'date\']/@*[name()=\'today\' or name()=\'tomo

  • 本文关键字:name date tomo or today local-name xpath xml xpath
  • 更新时间 :
  • 英文 :


请原谅我问这个愚蠢的问题,但我不太明白
/@*[name()='today' or name()='tomorrow']下面的 xpath 是什么意思

<*[local-name()='date']/@*[name()='today' or name()='tomorrow']>

我对name()=之前的星号感到困惑.我知道本地名称之前的星号是指定前缀/命名空间,但是星号在属性前面有什么作用?

提前非常感谢!

表达式@*[name()='today' or name()='tomorrow']选择名称((为"今天"或"明天"的所有属性。属性的 name(( 是 NAME 表示无前缀属性,或 PREFIX:NAME 表示前缀属性;因此,此表达式测试是否存在名为"今天"或"明天"的无命名空间属性:在 XPath 2.0 中,最好将其编写为(@today|@tomorrow)

当应用于属性时,name()="X"local-name()="X"之间的区别在于,第一种情况仅匹配无命名空间属性,而第二种情况也将匹配,例如,名为 P:X 的属性。

相关内容

最新更新