2012-07-30 47 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)中的文本是节点。

相关问题