这个xpath是啥意思“//Form/*[.='on']”

Posted

技术标签:

【中文标题】这个xpath是啥意思“//Form/*[.=\'on\']”【英文标题】:what does this xpath means "//Form/*[. = 'on']"这个xpath是什么意思“//Form/*[.='on']” 【发布时间】:2011-06-06 14:07:27 【问题描述】:

我是xml相关的新手 我无法理解:

SelectNodes(@"//Form/*[. = 'on']");

注意:SelectNodes是XmlNode的函数。(与XmlDocument相关)

请告诉我这段代码 sn-p 是什么意思?

【问题讨论】:

@Cold 夏威夷代码行是 XmlNodeList selectedFields = formXmlDoc.SelectNodes(@"//Form/*[. = 'on']"); //请注意 formXmlDoc 的类型是 XmlDocument.Xml 是事先验证的。 【参考方案1】:

. 表示当前元素节点,不管它是什么。谓词检查元素的文本节点,看它是否是字符串'on'

这样 XPath 查询会选择任何属于 Form 节点的子节点并且值为 on 的节点。

【讨论】:

一些额外的文档供将来参考,MSDN 和 W3Schools。 @BoltCock,Cold Hawaiian : 如果我的输入是 "
1
" 那么 SelectNodes(@"//Form /*[.='on']").Count ? 0 还是 1?并告诉我在什么情况下(什么输入)应该提供(参考给定的输入)以获得 SelectNodes(@"//Form/*[. = 'on']").Count NON-Zero or 1
@Pratik:它将为 0,因为没有一个元素在其值中包含单词 on。如果要选择内部有<Selected>1</Selected> 的元素,请使用//Form/*[Selected='1'] @BoltClock:谢谢。但是在不改变 SelectNodes(@"//Form/*[. = 'on']"); 的情况下,我应该输入什么来获得 1 @Pratik:您选择了表单中的哪个项目? <txtInput /> 有关系吗?

以上是关于这个xpath是啥意思“//Form/*[.='on']”的主要内容,如果未能解决你的问题,请参考以下文章

最近在自学python girlphoto_urls = selector.xpath('//div/a/img/@src')这句是啥意思?大神

选择包含“foo”的属性的正确 XPath 是啥?

包含类、子选择器和相邻兄弟选择器的 CSS 选择器的等效 XPath 是啥?

列出的选项的正确 xpath 是啥?

“this”这个词是啥意思,“static”是啥意思?

为 Selenium Web 自动化创建 XPath 表达式时最有用的轴方法是啥?