2012-03-17 43 views
1

我想知道如何進入一個字符串的值。 例如,我想在一個字符串把HELLO價值,但我不知道該怎麼做.. :(有人可以幫我請HtmlAgilityPack如何替換此文本cf.example

<div class="position" > 
<span class="cvetica" style="font-size: 24px"> 
<label style="font-size: 30px">11.522</label> 
HELLO  
</span> 
</div> 

回答

0

你具體的例子是相當容易 - 最新HtmlAgilityPack還支持LINQ所以這會工作:

HtmlDocument doc = new HtmlDocument(); 
doc.Load("test.html"); 

var spanNode = doc.DocumentNode.Descendants("span") 
        .Where(x => x.Attributes["class"]!=null && x.Attributes["class"].Value == "cvetica") 
        .FirstOrDefault(); 

if (spanNode != null) 
{ 
    string text = spanNode.InnerText; 
    string textHello = spanNode.ChildNodes 
           .Where(x => x.NodeType == HtmlNodeType.Text) 
           .Last().InnerText; 
} 

注意,第一輸出不會是你所期望的是什麼,因爲是字符串沒有直接包覆件「HELLO」,你會得到標籤的HTML以及 - 您可以通過檢索最後一個文本節點來解決此問題。

+0

非常感謝! ! – 2012-03-17 22:11:53

+0

@JérémieDjidjiL'Amoroso:用示例更新以直接檢索最後一個文本節點 – BrokenGlass 2012-03-17 22:13:50