2015-05-15 176 views
0

让我们说这是XML文件如何获取具有相同名称的所有属性?

<div Pictures> 
<span Pic1> 
    <a title="pic1" class="thumb" image="LinkToImage.com"> 
    </a> 
</span > 
<span Pic2> 
    <a title="pic2" class="thumb-small" image="LinkToImage2.com"> 
    </a> 
</span > 
</div > 

我如何从这个页面的所有图像属性?我知道我需要使用XPath语法// @ image,但我无法找到收集所有这些属性的代码并将它们放在foreach中。我试过类似的东西,但没有起作用

var WebgetME_ = new HtmlWeb(); 
var docME_ = WebgetME_.Load(MEURL_); 
foreach (HtmlAttribute HA_ME in docME_.DocumentNode.Attributes["//@image"])) { ;} 

如何从页面获取具有相同属性名称的所有属性信息?

+1

它被标记为'XML',并且是'HTML'。 –

回答

0

如何从此页面获取所有图像属性?

我相信你可以做到以下几点:

var images = 
    from link in docME_.Descendants("a") 
    where link.Attributes.Contains("image") 
    select link.Attributes["image"].Value; 

  • 由具有 “图像” 属性
  • 检索得到所有<a .../>节点
  • 过滤它们这个属性的值。
+0

然后我只是做'foreach(字符串linktoimage在图像)'或什么是使用所有值的最佳方式? – DFSFOT

+0

@Strinix如果你想迭代它们,你可以执行'foreach',或者如果你想将它们用作列表或数组,可以使用'image.ToList()'或'images.ToArray()'。 – Alex

+0

使用images.ToArray()有没有什么区别,然后在数组上使用foreach,或者只是为了提前使用foreach?在完成我在foreach中必须做的事情之后,我不需要这些图像,所以这是一次性使用。 @Alex – DFSFOT

相关问题