2014-09-24 28 views
0

我使用CsQuery來讀取HTML元素的值。如何使用CsQuery解開元素?

提前,我不知道<a>元素是否包含<font>元素。

有沒有辦法讀取錨點的InnerText,無論它是否包含font元素?

方案1:字體元素中的文本

<div class="link"> 
    <a href="http://www.example.com/1"> 
      <font>Foo</font> 
    </a> 
</div> 

方案2:無字體元素

<div class="link"> 
    <a href="http://www.example.com/2"> 
     Foo 
    </a> 
</div> 

我已經得到了以下工作解決方案文本:

var dom = CQ.CreateFromUrl("http://www.myurl.com"); 
var a = new CQ(dom.Select("div.link a").InnerHTML); 
var font = a.Select("font"); 
var myValue = a.Count() > 0 ? font[0].InnerText : a[0].InnerText; 

但它有點混亂,我寧願總是刪除字體元素 - 如果存在的話 - 所以我可以馬上去尋找錨點值。像Contents()UnWrap()組合在一起,但我沒有成功使其工作。想法任何人?

回答

1
var dom = CQ.CreateFromUrl("http://www.myurl.com"); 
string result = dom[".link a"].Text(); 
+0

Thx,沒意識到它是*那*簡單:) – 2014-10-01 12:14:05