当前位置: 首页 > 面试题库 >

使用HtmlAgilityPack解析HTML页面

太叔马鲁
2023-03-14
问题内容

使用C#我想知道如何从此示例html脚本获取Textbox值(即:john):

<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如下:

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


 类似资料:
  • 问题内容: 我需要解析(服务器端)大量的HTML页面。 我们都同意,regexp不是行之有效的方法。 在我看来,javascript是解析HTML页面的本机方式,但是这种假设取决于服务器端代码,该代码具有javascript在浏览器内部具有的所有DOM功能。 Node.js是否具有内置的功能? 有没有更好的方法来解决此问题,请在服务器端解析HTML? 问题答案: 您可以使用npm模块jsdom和h

  • 问题内容: 我用ajax加载html。我想将结果加载到jquery对象中。我试过了,但返回null。我怎样才能做到这一点?我有一个完整的页面,包括doctype,head元素和body元素。 我使用此功能加载数据。 问题答案: 前一阵子,但也许您仍然对此感兴趣。 的内部实现无法构建包含或标签的jQuery对象。它将简单地忽略它们并将所有元素向上移动。 因此,如果您的字符串例如 生成的jQuery对

  • 我在使用jsoup(Java)解析html文档时遇到了一个问题。我正在分析的HTML具有以下格式: 我想在两个“hr”标记之间隔离HTML文本。我正在尝试以下代码: 系统出来println(对象); 但是ArrayList没有包含我想要的内容,我不知道如何解决它。(我是否可以将“hr”标记转换为“hr”文本“/hr”标记)?

  • 我想解析出这个Nasa页面上的描述,页面底部的文字 我该怎么做?

  • 本文向大家介绍使用PHP的HTML DOMDocument解析HTML,包括了使用PHP的HTML DOMDocument解析HTML的使用技巧和注意事项,需要的朋友参考一下 可以通过以下代码获取<div>标记内的<div>标记内的文本,其中<div>内的class =“ main”内- 示例 输出结果 这将产生以下输出-

  • 主要内容:Jsoup 使用DOM解析HTML 语法,Jsoup 使用DOM解析HTML 说明,Jsoup 使用DOM解析HTML 示例以下示例将展示在将 HTML 字符串解析为 Document 对象后如何使用类似 DOM 的方法。 Jsoup 使用DOM解析HTML 语法 document : 文档对象代表 HTML DOM。 Jsoup : 解析给定 HTML 字符串的主类。 html : HTML 字符串。 sampleDiv : 元素对象表示由 id“sampleDiv”标识的 html