2012-07-30 58 views

回答

1
HtmlDocument doc = new HtmlDocument(); 
doc.Load("file.htm"); 
foreach(HtmlNode div in doc.DocumentElement.SelectNodes("//div"]) 
{ 
    string parent = div.InnerText; //this will give you Name 
    foreach (HtmlNode child in div.ChildNodes) 
    { 
    string childDiv = child.InnerText; //this will give you the child 
    } 
} 
+0

對不起,我找不到'Value'屬性。我正在使用'HtmlAgilityPack.1.4.5 \ Net45 \ HtmlAgilityack.dll' – Freewind 2012-07-30 16:16:11

+0

HtmlNode上沒有「Value」屬性。您可以使用InnerText或InnerHtml。 – 2012-07-30 16:18:09

+0

@Freewind我的歉意.Value屬性屬性,Kvein正確請使用InnerText – HatSoft 2012-07-30 16:19:20

0
var doc = new HtmlDocument(); 
doc.LoadHtml("<div><div>Name</div>Date</div>"); 
var nodes = doc.DocumentNode 
    .DescendantNodes() 
    .Where(n => n.NodeType == HtmlNodeType.Text); 
foreach (var node in nodes) 
{ 
    var value = node.InnerText; 
} 
0

硬編碼(如!凱文·巴布科克的回答)

HtmlDocument doc = new HtmlDocument(); 
doc.LoadHtml("<div><div>Name</div>Date</div>"); 
       Console.WriteLine(((HtmlTextNode)doc.DocumentNode.ChildNodes[0].ChildNodes[0]).Text); 
Console.WriteLine(((HtmlTextNode)doc.DocumentNode.ChildNodes[1]).Text); 

如果你正在尋找的,什麼是所有文本節點。你必須記住Xml(和HtmlAgility)中的文本是節點。