我想了解的区别
//*[.] and //*[*]
这些返回不同数量的元素。
此外,我可以使用点,而不是属性
//tag[@Attribute="value"]
不只是在文本的情况下?又是什么语法是什么样子?因为我试过
//tag[@.="value"] and //tag[.="value"]
最后一个只在文本的情况下工作,但不能代替的情况下,
//tag[@id="value"]
例如,所以,当我可以改变的点,而不是属性?
//*[.]
将选择的所有元素。它相当于//*
。
//*[*]
将选择至少有一个子元素的所有元素。
//tag[@.="value"]
在语法上是无效的。
//tag[.="value"]
将选择所有tag
元素,其string value等于value
。例如,对于这个XML,
<tag id="r">
<tag id="a">value</tag>
<tag id="b">val<br/>ue</tag>
<tag id="c"><span>val</span><span>ue</span></tag>
<tag id="f"> value</tag>
<tag id="g">Value</tag>
</tag>
//tag[.="value"]
将选择
<tag id="a">value</tag>
<tag id="b">val<br/>ue</tag>
<tag id="c"><span>val</span><span>ue</span></tag>