[英]how to get a text from xpath in c#
我想显示我的xml文件中的数据,
这是我的xml文件
<table> <tr class="even"> <td class="ltid">1</td> <td class="ltn">لستر سیتی</td> <td class="ltg">31</td> <td class="ltw">19</td> <td class="ltd">9</td> <td class="ltl">3</td> <td class="ltgf">54</td> <td class="ltga">31</td> <td class="ltgd" dir="ltr">+23</td> <td class="ltp">66</td> </tr> <tr> <td class="ltid">2</td> <td class="ltn">تاتنهام</td> <td class="ltg">31</td> <td class="ltw">17</td> <td class="ltd">10</td> <td class="ltl">4</td> <td class="ltgf">56</td> <td class="ltga">24</td> <td class="ltgd" dir="ltr">+32</td> <td class="ltp">61</td> </tr> <tr> <td class="ltid">3</td> <td class="ltn">آرسنال</td> <td class="ltg">30</td> <td class="ltw">16</td> <td class="ltd">7</td> <td class="ltl">7</td> <td class="ltgf">48</td> <td class="ltga">30</td> <td class="ltgd" dir="ltr">+18</td> <td class="ltp">55</td> </tr> </table>
我想得到第三支球队
我想获取'<td class="ltid">3</td>'
,这是我尝试过的代码
var doc = XDocument.Parse(richTextBox2.Text);
var navigator = doc.CreateNavigator();
var contentCell = navigator.SelectSingleNode("//td[@class='ltid']");
txtTeam.Text = contentCell.Value;
但是我不知道如何获得这个班级的价值的第三td
我搜寻寻找答案,但找不到答案
我在此之前写了另一个代码,但是在第一个<tr>
我们有3个,所以它只是从第一个<tr>
发现,而不是从第三个<tr>
请帮助我从第三<tr>
获得价值
这是一种方法:
(//td[@class='ltid'])[3]
XPath将返回整个XML文档中第3次出现的td[@class='ltid']
。
您可以通过3种方式执行此操作:
xpath 1: //tr[3]/td[@class='ltid']
xpath 2: //td[@class='ltid'])[3]
xpath 3: //td[contains(text()='3')]
你可以试试:
var nav = doc.CreateNavigator();
XPathNodeIterator iterator = nav.Select("//td[@class='ltid']");
while (iterator.MoveNext())
{
// do whatever you want with your item
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.