2011-07-10 38 views
0

私は最初のRSS News Aggregatorを開発しようとしています。 RSSItemオブジェクトからリンク、タイトル、公開日を簡単に抽出できます。しかし、私はフィードアイテムから画像を抽出するのに苦労しています。残念ながら、私の低い評判のため、イメージをアップロードできません。<img>というsrc属性の値を抽出するのではなく、<a>タグのhref属性の値を取得する方法を教えてください。非常にappreaciated!htmlタグ属性の抽出方法は?

ここでは、文字列

<div style="text-align: center;" 
    <a href="http://www.engadget.com/2011/07/10/element5s-mini-l-solarbag-brings-eco-friendly-energy-protectio/"></a> 
</div> 

編集です:

たぶん全体のタイトルが間違っているが。 XPathを使用して値を見つける方法はありますか?

+0

あなたの文字列はどこですか?私はそれは後にする必要があります "ここに文字列"の部分 – grapkulec

+0

これは私にRSSのように見えません。どこで手に入れましたか? –

+0

ジョン、これはちょうどランダムなhtmlです。私は画像を埋め込み、SOにリンクするのに十分な評判はありませんでした:) – Dragan

答えて

2

使用HTMLAgilityPackこの記事に答えとして:

How can I get values from Html Tags?

詳細情報:

HTMLがうまく形成されない場合があり

、それゆえ我々は別のパーサを必要とする(他の.NETで供給されるXMLよりも)それはフォールトトレラントです。 HTMLAgilityPackの出番なのです

入門:。

  1. は、新しいコンソールアプリケーションを作成

  2. 右クリックし、あなたが持っていない場合はNuGetをインストール(nugetパッケージを管理/参照にそれ)。

  3. 追加のHTML敏捷性

作業例:

 using System; 
     using System.IO; 
     using System.Text; 
     using HtmlAgilityPack; 

     namespace ConsoleApplication4 
     { 
      class Program 
      { 
       private const string html = 
     @"<?xml version=""1.0"" encoding=""ISO-8859-1""?> 
     <div class='linkProduct' id='link' anattribute='abc'/> 
     <bookstore> 
     <book> 
      <title lang=""eng"">Harry Potter</title> 
      <price>29.99</price> 
     </book> 
     <book> 
      <title lang=""eng"">Learning XML</title> 
      <price>39.95</price> 
     </book> 
     </bookstore> 
     "; 

       static void Main(string[] args) 
       { 
        HtmlDocument doc = new HtmlDocument(); 
        byte[] byteArray = Encoding.ASCII.GetBytes(html); MemoryStream stream = new MemoryStream(byteArray); 
        var ts = new MemoryStream(byteArray); 
        doc.Load(ts); 
        var root = doc.DocumentNode; 
        var tag = root.SelectSingleNode("/div"); 
        var attrib = tag.Attributes["anattribute"]; 
        Console.WriteLine(attrib.Value); 
       } 
      } 
     } 

はさらにそれを取る:

はXPathを得意取得します。ここから始めましょう。

http://www.w3schools.com/xpath/xpath_syntax.asp

+0

私はHtmlAgilityPackで遊んだので、今度は画像を抽出できます。先端のおかげでありがとうSir !! – Dragan