Questions tagged «xpath»

XPath的主要目的是解决XML文档的某些部分。它还提供了用于处理字符串,数字和布尔值的基本功能。XPath使用一种紧凑的非XML语法。XPath在XML文档的抽象逻辑结构上运行,而不是在其表面语法上运行。

11
是否有针对xPath选择器的在线测试仪?[关闭]
从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案能得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 9年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我知道有一些在线正则表达式评估器..非常有用,可以实时匹配。它们就像RegexBuddy的Web应用程序。 我想知道xPath选择器是否有类似的东西?我只是在学习它们,这对我来说很有价值。 是否有在线测试程序可以让您输入XML,然后输入xPath选择器并进行匹配(使用实时测试会更好,但我怀疑有人编写了JavaScript解释器)? 谢谢
84 xml  xslt  xpath 

3
XPath ::获得关注的兄弟姐妹
我有以下HTML结构:我正在尝试构建一种可靠的方法来提取第二个颜色摘要元素,因为DOM中将包含许多此类标记。 <table> <tbody> <tr bgcolor="#AAAAAA"> <tr> <tr> <tr> <tr> <td>Color Digest </td> <td>AgArAQICGQMVBBwTIRQHIwg0GUMURAZTBWQJcwV0AoEDAQ </td> </tr> <tr> <td>Color Digest </td> <td>2,43,2,25,21,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, </td> </tr> </tbody> </table> 我正在尝试提取具有解码值的第二个“ Color Digest” td元素。 我写了下面的xpath,但是没有得到第二个,我没有得到第二个td元素。 //td[text() = ' Color Digest ']/following-sibling::td[2] 当我将其从td [2]更改为td [1]时,我得到了两个元素。
82 html  xpath  siblings  scraper 

5
如何在XElement或LINQ中使用XPath?
考虑以下XML: <response> <status_code>200</status_code> <status_txt>OK</status_txt> <data> <url>http://bit.ly/b47LVi</url> <hash>b47LVi</hash> <global_hash>9EJa3m</global_hash> <long_url>http://www.tumblr.com/docs/en/api#api_write</long_url> <new_hash>0</new_hash> </data> </response> 我正在寻找一种获取<hash>元素值的非常短的方法。我试过了: var hash = xml.Element("hash").Value; 但这不起作用。是否可以向提供XPath查询XElement?我可以使用较旧的System.Xml框架来执行此操作,例如: xml.Node("/response/data/hash").Value LINQ名称空间中是否有类似的东西? 更新: 经过进一步研究之后,我找到了一种方法来做我想做的事情: var hash = xml.Descendants("hash").FirstOrDefault().Value; 我还是想看看是否有人有更好的解决方案?

2
XPath仅返回包含文本的元素,而不返回其父元素
在此xml中,我要匹配包含“ match”的元素(random2元素) <root> <random1> <random2>match</random2> <random3>nomatch</random3> </random1> </root> 好的,到目前为止,我有: //[re:test(.,'match','i')] (with re in the proper namespace) 这将返回random2,random1和root ...我只想获取“ random2” 有任何想法吗?
77 xml  xpath 

2
使用xpath获取节点的第N个子节点
我的样本输入XML是: <root> <a> <b>item</b> <b>item1</b> <b>item2</b> <b>item3</b> <b>item4</b> </a> </root> 我想选择一个b位置为变量值的节点。 如何使用变量的值来测试节点的位置?
77 xml  xpath 


5
xpath中不区分大小写的匹配?
例如,对于下面的xml <CATALOG> <CD title="Empire Burlesque"/> <CD title="empire burlesque"/> <CD title="EMPIRE BURLESQUE"/> <CD title="EmPiRe BuRLeSQuE"/> <CD title="Others"/> <CATALOG> 如何将前4条记录与xpath匹配//CD[@title='empire burlesque']。有xpath函数可以做到这一点吗?还接受其他解决方案,例如PHP函数。
76 xml  xpath 


4
如何在xpath中使用not contains()?
我有一些这样的XML: <whatson> <productions> <production> <category>Film</category> </production> <production> <category>Business</category> </production> <production> <category>Business training</category> </production> </productions> </whatson> 而且我需要选择每个类别都不包含“业务”的产品(在此示例中仅选择第一个产品)。 xpath有可能吗?我尝试按照这些思路工作,但无济于事: //production[not(contains(category,'business'))]
72 xpath  contains 

2
使用XPath,如何根据其文本内容和属性值选择节点?
鉴于此XML: <DocText> <WithQuads> <Page pageNumber="3"> <Word> July <Quad> <P1 X="84" Y="711.25" /> <P2 X="102.062" Y="711.25" /> <P3 X="102.062" Y="723.658" /> <P4 X="84.0" Y="723.658" /> </Quad> </Word> <Word> </Word> <Word> 30, <Quad> <P1 X="104.812" Y="711.25" /> <P2 X="118.562" Y="711.25" /> <P3 X="118.562" Y="723.658" /> <P4 X="104.812" Y="723.658" /> </Quad> </Word> </Page> …
71 xml  xpath  xquery 

6
为什么XmlNamespaceManager是必需的?
我干了为什么-至少在.Net Framework中-在执行XPath查询时必须使用XmlNamespaceManager来处理名称空间(或笨拙而冗长的[local-name()=...XPath谓词/函数/其他) 。我不明白为什么命名空间是必要的,或者至少是有益的,但为什么会这样复杂? 为了查询一个简单的XML文档(没有名称空间)... <?xml version="1.0" encoding="ISO-8859-1"?> <rootNode> <nodeName>Some Text Here</nodeName> </rootNode> ...一个人可以使用类似doc.SelectSingleNode("//nodeName")(可以匹配<nodeName>Some Text Here</nodeName>) 谜题1:我的第一个烦恼-如果我理解正确的话-仅仅是将名称空间引用添加到父/根标签(无论是否用作子节点标签的一部分),如下所示: <?xml version="1.0" encoding="ISO-8859-1"?> <rootNode xmlns="http://example.com/xmlns/foo"> <nodeName>Some Text Here</nodeName> </rootNode> ...需要多几行代码才能获得相同的结果: Dim nsmgr As New XmlNamespaceManager(doc.NameTable) nsmgr.AddNamespace("ab", "http://example.com/xmlns/foo") Dim desiredNode As XmlNode = doc.SelectSingleNode("//ab:nodeName", nsmgr) ...实质上是在梦见一个不存在的前缀(“ ab”),以查找甚至不使用前缀的节点。这有什么意义?(在概念上)有doc.SelectSingleNode("//nodeName")什么问题? 谜题2:假设您有一个使用前缀的XML文档: <?xml version="1.0" encoding="ISO-8859-1"?> <rootNode xmlns:cde="http://example.com/xmlns/foo" xmlns:feg="http://example.com/xmlns/bar"> <cde:nodeName>Some …

3
XPath:dot和text()之间的区别
我的问题是关于使用dot和text()in的细节XPath。例如,以下几find_element行返回相同的元素: driver.get('http://stackoverflow.com/') driver.find_element_by_xpath('//a[text()="Ask Question"]') driver.find_element_by_xpath('//a[.="Ask Question"]') 那么区别是什么呢?使用.和的优点和缺点是text()什么?
69 selenium  xpath 

5
XPath-获取没有特定类型的子节点的节点
XML:/A/B或/A 我想获取A没有任何子节点的所有节点B。 我试过了 /A[not(B)] /A[not(exists(B))] 没有成功 /*[local-name()="A" and .... ]如果可能,我更喜欢使用语法的解决方案。有什么想法可行吗? 澄清。xml看起来像: <WhatEver> <A> <B></B> </A> </WhatEver> 要么 <WhatEver> <A></A> </WhatEver>
68 xpath 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.