标签: xpath

如何匹配包含特定字符串的属性?

当属性包含多个单词时,我在按属性选择节点时遇到问题.例如:

<div class="atag btag" />
Run Code Online (Sandbox Code Playgroud)

这是我的xpath表达式:

//*[@class='atag']

表达式适用于

<div class="atag" />

但不是前一个例子.我该如何选择<div>

xpath

432
推荐指数
8
解决办法
35万
查看次数

使用XPath获取属性

给定像这样的XML结构:

<?xml version="1.0" encoding="ISO-8859-1"?>

<bookstore>

<book>
  <title lang="eng">Harry Potter</title>
  <price>29.99</price>
</book>

<book>
  <title lang="eng">Learning XML</title>
  <price>39.95</price>
</book>

</bookstore>
Run Code Online (Sandbox Code Playgroud)

我怎么能得到的值lang(这里langeng在书名),第一个元素?

xml xpath

328
推荐指数
4
解决办法
34万
查看次数

XPath:选择具有特定属性的第一个元素

XPath bookstore/book[1]选择下的第一个书籍节点bookstore.

如何选择匹配更复杂条件的第一个节点,例如匹配的第一个节点 /bookstore/book[@location='US']

xpath

278
推荐指数
6
解决办法
38万
查看次数

如何通过带有XPath的CSS类找到元素?

在我的网页中,有div一个class名为Test.

我怎么能找到它XPath

html css xml xpath

268
推荐指数
6
解决办法
29万
查看次数

如何在Java中使用XPath读取XML

我想在Java中使用XPath读取XML数据,因此对于我收集的信息,我无法根据我的要求解析XML.

这是我想要做的:

通过URL从在线获取XML文件,然后使用XPath解析它,我想在其中创建两个方法.一个是我输入一个特定的节点属性id,我得到所有的子节点作为结果,第二个假设我只想获得一个特定的子节点值

<?xml version="1.0"?>
<howto>
  <topic name="Java">
      <url>http://www.rgagnonjavahowto.htm</url>
  <car>taxi</car>
  </topic>
  <topic name="PowerBuilder">
       <url>http://www.rgagnon/pbhowto.htm</url>
       <url>http://www.rgagnon/pbhowtonew.htm</url>
  </topic>
  <topic name="Javascript">
        <url>http://www.rgagnon/jshowto.htm</url>
  </topic>
 <topic name="VBScript">
       <url>http://www.rgagnon/vbshowto.htm</url>
 </topic>
 </howto>
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,我想读取所有元素,如果我通过@name搜索,还有一个函数,其中我只想要来自@name'Javascript'的url只返回一个节点元素.

java xml xpath parsing

263
推荐指数
5
解决办法
41万
查看次数

通过XPath提取属性节点的值

如何通过XPath提取属性节点的值?

示例XML文件是:

<parents name='Parents'>
  <Parent id='1' name='Parent_1'>
    <Children name='Children'>
      <child name='Child_2' id='2'>child2_Parent_1</child>
      <child name='Child_4' id='4'>child4_Parent_1</child>
      <child name='Child_1' id='3'>child1_Parent_1</child>
      <child name='Child_3' id='1'>child3_Parent_1</child>
    </Children>
  </Parent>
  <Parent id='2' name='Parent_2'>
    <Children name='Children'>
      <child name='Child_1' id='8'>child1_parent2</child>
      <child name='Child_2' id='7'>child2_parent2</child>
      <child name='Child_4' id='6'>child4_parent2</child>
      <child name='Child_3' id='5'>child3_parent2</child>
    </Children>
  </Parent>
</parents>
Run Code Online (Sandbox Code Playgroud)

到目前为止,我有这个XPath字符串:

//Parent[@id='1']/Children/child[@name]  
Run Code Online (Sandbox Code Playgroud)

它只返回child元素,但我想拥有name属性的值.

对于我的示例XML文件,这是我想要的输出:

Child_2
Child_4
Child_1
Child_3
Run Code Online (Sandbox Code Playgroud)

xml xpath

251
推荐指数
6
解决办法
40万
查看次数

XPath包含(text(),'some string')与具有多个Text子节点的节点一起使用时不起作用

我有一个小问题,Xpath包含dom4j ...

让我们说我的XML是

<Home>
    <Addr>
        <Street>ABC</Street>
        <Number>5</Number>
        <Comment>BLAH BLAH BLAH <br/><br/>ABC</Comment>
    </Addr>
</Home>
Run Code Online (Sandbox Code Playgroud)

假设我想在给定根元素的文本中找到所有具有ABC的节点...

所以我需要写的xpath就是

//*[contains(text(),'ABC')]

然而,这不是Dom4j返回的......这是dom4j问题还是我理解xpath如何工作.因为该查询仅返回Street元素而不返回Comment元素.

DOM使Comment元素成为具有四个标记2的复合元素

[Text = 'XYZ'][BR][BR][Text = 'ABC'] 
Run Code Online (Sandbox Code Playgroud)

我会假设查询应该仍然返回元素,因为它应该找到元素并运行包含但它不会......

以下查询返回元素,但它返回的远远多于元素,它还返回父元素...这对问题是不可取的...

//*[contains(text(),'ABC')]
Run Code Online (Sandbox Code Playgroud)

是否有任何人知道XPath查询会只返回元素<Street/><Comment/>

xpath dom4j

235
推荐指数
6
解决办法
47万
查看次数

有没有办法在Selenium WebDriver中使用JavaScript通过XPath获取元素?

我正在寻找类似的东西:

getElementByXpath(//html[1]/body[1]/div[1]).innerHTML
Run Code Online (Sandbox Code Playgroud)

我需要使用JS获取元素的innerHTML(在Selenium WebDriver/Java中使用它,因为WebDriver本身无法找到它),但是如何?

我可以使用ID属性,但并非所有元素都具有ID属性.

[固定]

我正在使用jsoup在Java中完成它.这符合我的需要.

javascript xpath selenium-webdriver document.evaluate

218
推荐指数
7
解决办法
27万
查看次数

如何在Python中使用Xpath?

什么是图书馆?有完整的实施吗?图书馆是如何使用的?它的网站在哪里?

python xml xpath dom nodes

217
推荐指数
9
解决办法
27万
查看次数

是否有JSON等效的XQuery/XPath?

在复杂的JSON数组和哈希中搜索项目时,例如:

[
    { "id": 1, "name": "One", "objects": [
        { "id": 1, "name": "Response 1", "objects": [
            // etc.
        }]
    }
]
Run Code Online (Sandbox Code Playgroud)

我可以用某种查询语言来查找项目in [0].objects where id = 3吗?

javascript xpath json xquery

213
推荐指数
14
解决办法
10万
查看次数