如何在Xpath中动态地根据位置获取标签中的值?

时间:2017-08-31 09:19:01

标签: xml xpath nodes

我认为我在使用Xpath解析XML时遇到了严重问题...在解析XML时我可能有多个重复的标签,但是使用不同的数据可以举个例子....

<note>
<to>Tove 1</to>
<from>Jani 1</from>
<heading>Reminder 1</heading>
<body>Don't forget me this weekend One!</body>
</note>
<!-Second Node -!>
<note>
<to>Tove 2</to>
<from>Jani 2</from>
<heading>Reminder 2</heading>
<body>Don't forget me this weekend Second!</body>
</note>
  

// note / to / text()从<to>标记获取文字 - &gt;我的Xpath

但问题是我不知道有多少标签,在上面的Xpath我每次都得到第一个不值......

注意:我知道如果我知道标签的数量但是如何动态地使用[1],[2]

2 个答案:

答案 0 :(得分:0)

您只需将//用于相对xpath,如下所示: -

//note//to/text() 

参见: -

https://www.tutorialspoint.com/xpath/xpath_relative_path.htm

希望它会对你有所帮助:)。

答案 1 :(得分:0)

如果您想获得元素数量:

count(//note//to/text())

如果您想根据文字获取单元格:

//note//to/[text() = 'Jani 1']/text()