2015-05-15 231 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

相關問題