2017-01-16 6 views
-1
によって
<div class="vcard-names-container py-3 js-sticky js-user-profile-sticky-fields " style="position: static;"> 
    <h1 class="vcard-names"> 
    <span class="vcard-fullname d-block" itemprop="name">Name 001</span> 
    <span class="vcard-username d-block" itemprop="additionalName">Name 002</span> 
    </h1> 
</div> 

こんにちは、私はいくつかのテストをしましたが、私はこれらの値を解析できませんでしたどのようにこの構造体の名前を取得するには(「名前001」と「名002」)知っていただきたいと思いますどのように私はこれを達成するのですか?取得値HtmlAgilityPack

(注:私の悪い英語のため申し訳ありませんが)

+0

重複はあなたが求めたように属性を取得する方法を示しますが、投稿の本文に基づいて、要素の属性の値ではなく要素のテキストが必要になる可能性があります。この場合、http://stackoverflow.com/questions/4358696/how-to-get-the-contents-of-a-html-element-using-htmlagilitypack-in-cが答えになります。 –

答えて

0

あなたが探しているノードを見つけるために、文書ノードを照会するXPathを使用することができます。

static void Main(string[] args) 
{ 
    var html = @"<div class=""vcard - names - container py - 3 js - sticky js - user - profile - sticky - fields "" style=""position: static; ""> 
      < h1 class=""vcard-names""> 
      <span class=""vcard-fullname d-block"" itemprop=""name"">Name 001</span> 
      <span class=""vcard-username d-block"" itemprop=""additionalName"">Name 002</span> 
      </h1> 
     </div>"; 

    HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); 
    doc.LoadHtml(html); 

    var names = doc.DocumentNode.SelectNodes("//span").Select(x => x.InnerText); 
    foreach (var name in names) 
    { 
     Console.WriteLine(name); 
    } 
    Console.ReadLine(); 
} 
0

これがあなたのためにトリックを行う可能性があります

HtmlDocument doc = new HtmlDocument(); 
doc.Load(YourHTMLFile); 
foreach(HtmlNode Spans in doc.DocumentNode.SelectNodes("//span")) 
{ 
    Console.WriteLine(Spans.InnerText); 
} 
関連する問題