Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用HtmlAgilityPack解析html文件_C#_Html_Html Agility Pack - Fatal编程技术网

C# 使用HtmlAgilityPack解析html文件

C# 使用HtmlAgilityPack解析html文件,c#,html,html-agility-pack,C#,Html,Html Agility Pack,我有几个Html文件存储在同一目录(TestReport1.Html、TestReport2.Html…)中,内容如下: <!DOCTYPE html> <html> <body> <section class='summary'> <ul class='resultSummary'> <li class='Passed'> <div clas

我有几个Html文件存储在同一目录(TestReport1.Html、TestReport2.Html…)中,内容如下:

<!DOCTYPE html>
<html>
  <body>
      <section class='summary'>
        <ul class='resultSummary'>
          <li class='Passed'>
            <div class='summaryLine'>
              <div class='summaryLabel'>Passed</div>
              <span class='summaryCount'>199</span>
            </div>
            <input type='checkbox' class='cbx_toggle' unchecked/>
          </li>
          <li class='Inconclusive'>
            <div class='summaryLine'>
              <div class='summaryLabel'>Inconclusive</div>
              <span class='summaryCount'>10</span>
            </div>
            <input type='checkbox' class='cbx_toggle' unchecked/>
          </li>
          <li class='NotImplemented'>
            <div class='summaryLine'>
              <div class='summaryLabel'>Not Implemented</div>
              <span class='summaryCount'>5</span>
            </div>
            <input type='checkbox' class='cbx_toggle' unchecked/>
          </li>
          <li class='Failed'>
            <div class='summaryLine'>
              <div class='summaryLabel'>Failed</div>
              <span class='summaryCount'>12</span>
            </div>
            <input type='checkbox' class='cbx_toggle' checked/>
          </li>
          <li id='summaryChart'</li>
        </ul>
      </section>
    </body>
</html>

  • 通过 199
  • 无定论的 10
  • 未实施 5.
  • 失败 12

  • 要获取该值,可以使用XPath。例如:

    "//*[@class='Inconclusive']/div/span"
    
    C#HtmlAgilityPack

    var html = new HtmlDocument();
    html.LoadHtml(<html code>);
    var xpath = "//*[@class='Inconclusive']/div/span";
    var parse = html.DocumentNode.SelectSingleNode(xpath).InnerText;
    
    var html=new HtmlDocument();
    html.LoadHtml();
    var xpath=“//*[@class='Inconclusive']/div/span”;
    var parse=html.DocumentNode.SelectSingleNode(xpath).InnerText;
    
    如何获取XPath:

    //说明:HAP-加载(从文件)
    //网站:https://html-agility-pack.net/
    //运行:https://dotnetfiddle.net/EsvZyg
    //@nuget:HtmlAgilityPack
    使用制度;
    使用System.Xml;
    使用HtmlAgilityPack;
    公共课程
    {
    公共静态void Main()
    {
    SaveHtmlFile();
    #区域示例
    var path=@“test.html”;
    var doc=新的HtmlDocument();
    单据加载(路径);
    var node=doc.DocumentNode.SelectSingleNode(//body);
    Console.WriteLine(node.OuterHtml);
    #端区
    }
    私有静态void SaveHtmlFile()
    {
    变量html=
    @"
    这是粗体标题
    这一段在下面划线

    这是斜体标题 "; var htmlDoc=新的HtmlDocument(); htmlDoc.LoadHtml(html); htmlDoc.Save(“test.html”); } }
    您的问题似乎太宽泛了。程序的哪一部分(枚举html文件、解析html、从节点读取值等)有问题?另外,您的问题应该包括到目前为止您已经编写的代码的相关部分(请参阅)-不要期望我们为您编写整个程序。
    // Description: HAP - Load (From File)
    // Website: https://html-agility-pack.net/
    // Run: https://dotnetfiddle.net/EsvZyg
    
    // @nuget: HtmlAgilityPack
    
    using System;
    using System.Xml;
    using HtmlAgilityPack;
    
    public class Program
    {
        public static void Main()
        {
            SaveHtmlFile();
    
            #region example
    
            var path = @"test.html";
    
            var doc = new HtmlDocument();
            doc.Load(path);
    
            var node = doc.DocumentNode.SelectSingleNode("//body");
    
            Console.WriteLine(node.OuterHtml);  
    
            #endregion
        }
    
        private static void SaveHtmlFile()
        {
            var html =
            @"<!DOCTYPE html>
    <html>
    <body>
        <h1>This is <b>bold</b> heading</h1>
        <p>This is <u>underlined</u> paragraph</p>
        <h2>This is <i>italic</i> heading</h2>
    </body>
    </html> ";
    
            var htmlDoc = new HtmlDocument();
            htmlDoc.LoadHtml(html);
    
            htmlDoc.Save("test.html");
        }
    }