有多种方法可以使用敏捷包选择元素。
假设我们定义
Htmldocument如下:
string html = @"<TD class=texte width=""50%""><DIV align=right>Name :<B> </B></DIV></TD><TD width=""50%""> <INPUT class=box value=John maxLength=16 size=16 name=user_name></TD><TR vAlign=center>";Htmldocument htmlDoc = new Htmldocument();htmlDoc.LoadHtml(html);
1.简单的LINQ
我们可以使用该
Descendants()方法,传递我们正在寻找的元素的名称:
var inputs = htmlDoc.documentNode.Descendants("input");foreach (var input in inputs){ Console.WriteLine(input.Attributes["value"].Value); // John}
2.更高级的LINQ
我们可以通过使用 更高级的LINQ 来缩小范围:
var inputs = from input in htmlDoc.documentNode.Descendants("input") where input.Attributes["class"].Value == "box" select input;foreach (var input in inputs){ Console.WriteLine(input.Attributes["value"].Value); // John}
3. XPath
或者我们可以使用XPath。
string name = htmlDoc.documentNode .SelectSingleNode("//td/input") .Attributes["value"].Value;Console.WriteLine(name);//John
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)