首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >可以将xpath与嵌套循环一起使用吗?

可以将xpath与嵌套循环一起使用吗?
EN

Stack Overflow用户
提问于 2019-05-30 08:18:52
回答 2查看 240关注 0票数 0

所以我正在尝试用xpath.Here解析一些html,这就是我的页面的样子

代码语言:javascript
复制
<area id="a_0_0" alt="asd">
<area id="a_0_1" alt="asd">
<area id="a_1_0" alt="asd">
<area id="a_1_1" alt="asd">

那么用xpath解析它是可能的吗?或者我需要使用其他东西?我对xpath还不太熟悉,下面是我尝试过的内容

代码语言:javascript
复制
doc.DocumentNode.SelectSingleNode("//area[@id='a_0_0']").Attributes["alt"].Value;//this is works 

doc.DocumentNode.SelectSingleNode("//area[@id='a_0_[position() >=0 and position() <=1]']").Attributes["alt"].Value
doc.DocumentNode.SelectSingleNode("//area[@id='a_[position() >=0 and position() <=1]']_[position() >=0 and position() <=1]']").Attributes["alt"].Value
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-05-31 13:18:21

这是一个简单的解决方案。

代码语言:javascript
复制
var nodes = doc.DocumentNode.SelectNodes("//area[contains('a_0_0,a_0_1,a_1_0,a_1_1',id)]")
foreach (var node in nodes)
{
    // node.Attributes["alt"].Value
} 

你也可以使用下面的方法来获取所有具有alt属性的区域节点。

代码语言:javascript
复制
var nodes = doc.DocumentNode.SelectNodes("//area[@alt]");

要获取所有以a_开头的区域节点,请使用以下命令。

代码语言:javascript
复制
var nodes = doc.DocumentNode.SelectNodes("//area[starts-with(@id,'a_')][@alt]);
票数 0
EN

Stack Overflow用户

发布于 2019-05-30 08:52:30

您可以将xml解析为XDocument,并从linq中获益。

代码语言:javascript
复制
XDocument.Parse(xmlstring)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56370109

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档