HtmlAgility:没有出现任何内容(C#,UWP)

2023-12-31

我尝试使用 htmlagilitypack 来解析表格,完成后我意识到我忘记证明 htmlagility 部分是否有效。 ... 很明显它不起作用 我也不知道我错过了什么,我在哪里做错了...... 因为我是初学者... 所以请不要对我太严厉。

public partial class WebForm1 : System.Net.Http.HttpClient
{
    protected void Page_Load(object sender, EventArgs e)
    {

        System.Net.Http.HttpClient httpClient = new System.Net.Http.HttpClient();

        string header = "ie";
        if (!headers.UserAgent.TryParseAdd(header))
        {
            throw new Exception("Invalid header value: " + header);
        }

        header = "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)";
        if (!headers.UserAgent.TryParseAdd(header))
        {
            throw new Exception("Invalid header value: " + header);
        }

        HtmlAgilityPack.HtmlDocument htmlDoc = new HtmlAgilityPack.HtmlDocument();


        htmlDoc.LoadHtml(" http://www.eurogymnasium-waldenburg.de/egw_content/Stunden_Vertretungsplan/home.html");



        HtmlNode docNodes = htmlDoc.DocumentNode;

        HtmlNode navNode = htmlDoc.GetElementbyId("bereichaktionen");

        HtmlNode docNode = htmlDoc.DocumentNode.SelectSingleNode("/html/body[@class='ui-widget']/div[@id='main']/div[@id='vplan']/div[@id='bereichaktionen']");

        string nodeValue;

        nodeValue = (docNode.InnerText);

        Debug.WriteLine("nodeValue");

// 我怀疑上面有问题,但我不确定哪里出了问题。

        if (htmlDoc.ParseErrors != null && htmlDoc.ParseErrors.Count() > 0)
        {

        }
        else
        {

            if (htmlDoc.DocumentNode != null)
            {
                HtmlAgilityPack.HtmlNode bodyNode = htmlDoc.DocumentNode.SelectSingleNode("//body");

                if (bodyNode != null)
                {

                }
            }
        }
    }

原始网址在那里,大家可以尝试一下

谢谢大家 XL


一、第三方包Html 敏捷包 http://html-agility-pack.net/?z=codeplex通用应用程序不支持您当前使用的。请用适用于 .NET Core 1.4.9.2 的 HtmlAgilityPack https://www.nuget.org/packages/HtmlAgilityPack.NetCore/通用应用程序支持这一点。

其次,方法的参数htmlDoc.LoadHtml(string html)不是html站点的Uri,而是可以从web请求的响应中获取的html内容。

所以正确的代码应该如下:

WebRequest request = HttpWebRequest.Create("http://www.eurogymnasium-waldenburg.de/egw_content/Stunden_Vertretungsplan/home.html");
WebResponse response = await request.GetResponseAsync();
Stream stream = response.GetResponseStream();
var result = "";
using (StreamReader sr = new StreamReader(stream))
{
    result = sr.ReadToEnd();
}
HtmlDocument htmlDoc = new HtmlDocument();
htmlDoc.LoadHtml(result);
var node = htmlDoc.DocumentNode.SelectSingleNode("/html/body[@class='ui-widget']/div[@id='main']/div[@id='vplan']/div[@id='bereichaktionen']");

我还上传了完整的项目CHtml敏捷性 https://github.com/sunteenwu/PersonalDemo/tree/master/CHtmlAgility到github上可以下载进行测试。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HtmlAgility:没有出现任何内容(C#,UWP) 的相关文章

  • 通过引用传递 [C++]、[Qt]

    我写了这样的东西 class Storage public Storage QString key const int value const void add item QString int private QMap
  • 如何在 Cassandra 中存储无符号整数?

    我通过 Datastax 驱动程序在 Cassandra 中存储一些数据 并且需要存储无符号 16 位和 32 位整数 对于无符号 16 位整数 我可以轻松地将它们存储为有符号 32 位整数 并根据需要进行转换 然而 对于无符号 64 位整
  • 如何从本机 C(++) DLL 调用 .NET (C#) 代码?

    我有一个 C app exe 和一个 C my dll my dll NET 项目链接到本机 C DLL mynat dll 外部 C DLL 接口 并且从 C 调用 C DLL 可以正常工作 通过使用 DllImport mynat dl
  • 具有 100% 高度行和 Internet Explorer 9 的表格

    我有以下示例 div style height 150px background color AAAAFF div
  • ASP.NET Core 3.1登录后如何获取用户信息

    我试图在登录 ASP NET Core 3 1 后获取用户信息 如姓名 电子邮件 id 等信息 这是我在登录操作中的代码 var claims new List
  • 结构体的内存大小不同?

    为什么第一种情况不是12 测试环境 最新版本的 gcc 和 clang 64 位 Linux struct desc int parts int nr sizeof desc Output 16 struct desc int parts
  • 表单发布请求并存储收到的数据

    我有一个非常简单的表单 在提交时发出发布请求
  • 使用 Javascript 设置 cookie [重复]

    这个问题在这里已经有答案了 我正在尝试构建我的第一个移动应用程序 它需要连接到我的 mysql 数据库并使用 json 返回数据 这很好 目前我有一个登录系统 一旦确定用户名和密码存在 它就会返回一条成功消息 对于下一步 我想在我的页面上使
  • 实例化类时重写虚拟方法

    我有一个带有一些虚函数的类 让我们假设这是其中之一 public class AClassWhatever protected virtual string DoAThingToAString string inputString retu
  • 从 PHP 数组生成 HTML 表

    我不明白这一点 我需要解决看似简单的问题 但这超出了我的逻辑 我需要编写一个函数 table columns input cols 它将输出一个表 示例 input array apple orange monkey potato chee
  • 复制目录下所有文件

    如何将一个目录中的所有内容复制到另一个目录而不循环遍历每个文件 你不能 两者都不Directory http msdn microsoft com en us library system io directory aspx nor Dir
  • 如何在 Linq to SQL 中使用distinct 和 group by

    我正在尝试将以下 sql 转换为 Linq 2 SQL select groupId count distinct userId from processroundissueinstance group by groupId 这是我的代码
  • C 函数 time() 如何处理秒的小数部分?

    The time 函数将返回自 1970 年以来的秒数 我想知道它如何对返回的秒数进行舍入 例如 对于100 4s 它会返回100还是101 有明确的定义吗 ISO C标准没有说太多 它只说time 回报 该实现对当前日历时间的最佳近似 结
  • 如何在 Android 中使用 C# 生成的 RSA 公钥?

    我想在无法假定 HTTPS 可用的情况下确保 Android 应用程序和 C ASP NET 服务器之间的消息隐私 我想使用 RSA 来加密 Android 设备首次联系服务器时传输的对称密钥 RSA密钥对已在服务器上生成 私钥保存在服务器
  • C# 中的 IPC 机制 - 用法和最佳实践

    不久前我在 Win32 代码中使用了 IPC 临界区 事件和信号量 NET环境下场景如何 是否有任何教程解释所有可用选项以及何时使用以及为什么 微软最近在IPC方面的东西是Windows 通信基础 http en wikipedia org
  • 为什么C++代码执行速度比java慢?

    我最近用 Java 编写了一个计算密集型算法 然后将其翻译为 C 令我惊讶的是 C 的执行速度要慢得多 我现在已经编写了一个更短的 Java 测试程序和一个相应的 C 程序 见下文 我的原始代码具有大量数组访问功能 测试代码也是如此 C 的
  • C++ 中的 include 和 using 命名空间

    用于使用cout 我需要指定两者 include
  • 当文件流没有新数据时如何防止fgets阻塞

    我有一个popen 执行的函数tail f sometextfile 只要文件流中有数据显然我就可以通过fgets 现在 如果没有新数据来自尾部 fgets 挂起 我试过ferror and feof 无济于事 我怎样才能确定fgets 当
  • 现代编译器是否优化乘以 1 和 -1

    如果我写 template
  • 从 mvc 控制器使用 Web api 控制器操作

    我有两个控制器 一个mvc控制器和一个api控制器 它们都在同一个项目中 HomeController Controller DataController ApiController 如果我想从 HomeController 中使用 Dat

随机推荐

  • 如何从 .Net Core Web API 返回 Json?

    这是一个基本问题 我是 ASP Net Core 新手 因此我使用 Visual Studio 2017 中的模板创建了一个 Net Core Web API 项目 我想知道如何从 Get 函数返回 Json 字符串 提供的 Get 函数
  • Socket通信,Java客户端C服务器

    我正在尝试通过套接字与 Java 客户端和 C 服务器进行通信 如果我尝试在命令行上使用 nc 来连接服务器 或者如果我使用 nc 作为服务器并与我的 Java 客户端连接 那么一切似乎都工作正常 但是当我尝试连接 Java 客户端和 C
  • 如何从单列中获取值的组合?

    我正在尝试从 BigQuery 中的单列获取不同的可能组合值 假设我有这张表 date type payment customer no status 2019 01 02 Shirt Cashless 101 Cancel 2019 01
  • 在哪里放置 OBB 文件以在 Nexus 4 上测试 Android 扩展包文件 (OBB)?

    我正在尝试按照此处的指南测试 Android 中的扩展包文件 OBB http developer android com google play expansion files html http developer android co
  • 如何在 Android 平板电脑 Chrome 中隐藏工具栏以获得 100% 高网站

    我正在尝试制作一个 100 屏幕宽度和 100 屏幕高度 长宽比为 16 9 的 Web 应用程序 如果我能够在平板电脑上全屏查看该网站 那就太棒了 但不幸的是 屏幕上的工具栏占用了大量空间 使我的网站既不能以全高也不能以全宽显示 现在我知
  • 在项目中使用 ShareKit 时,本地化字符串并不总是有效

    因为我从我的应用程序中删除了一些本地化 所以我遇到了这个问题 第一次加载我的应用程序时 我在标签中看到我的密钥的本地化字符串 第二次加载应用程序时 出现 xxxxxkey 下次加载应用程序时 一切都很好 显示本地化字符串 怎么会这样 如果有
  • 如何在 Swift 包管理器中添加本地库作为依赖项

    如何在 Swift 包管理器中添加本地库 a 文件 作为依赖项 我尝试在我的 Package swift 中添加 dependencies Dependencies declare other packages that this pack
  • Google SignIn 在应用程序中,无需将其添加到设备帐户中

    我们一直通过 WebView 使用 Google 登录 但由于 Google 很快就会弃用此功能 是否有其他替代方法可以做到这一点 我们有一个稍微特殊的用例 我们的设备在仓库中使用 并且一台设备由多个用户使用 我们不希望所有用户将他们的帐户
  • UIBarButtonSystemItem PageCurl 不随工具栏改变颜色

    我想改变导航栏和工具栏的颜色 但是卷页系统图标的颜色UIBarButtonSystemItemPageCurl不随工具栏色调颜色改变 如果我使用书签等其他系统图标 它们会改变 有人有解决此类问题的方法吗 我使用以下几行来更改导航栏和工具栏的
  • 如果访问X86系统中不存在的物理地址怎么办?

    我正在开发一个 Linux 内核模块 它通过处理进程的页表将物理地址范围映射到进程虚拟地址空间 然后 我脑子里有一个问题 如果PTE指向一个不存在的物理地址会发生什么 例如 我的 X86 笔记本电脑有 8GB DRAM 如果 PTE 的值为
  • Flexbox div 不占据整个宽度

    我试图理解如何display flex有效 但每当我设置它时 孩子们都不会占据整个宽度 我预计三个 div 会占据屏幕宽度的 33 我究竟做错了什么 flexbox display flex flexbox div border 1px s
  • 创建一个 DateTimeOffset,设置为与服务器不同时区的午夜

    我有一个设置为 EST 的服务器 我想知道我需要做什么来创建设置为当天午夜但在不同时区的 DateTimeOffset 例如太平洋标准时间 获取相关的TimeZoneInfo 构造一个DateTime其中包含local时间 即午夜 Call
  • C++(11):如果两者都很好,何时使用直接初始化或复制初始化

    在重复的呼喊开始之前 我知道以下问题 以及其他一些问题 与此问题非常相关 在 C 中 复制初始化和直接初始化之间有区别吗 https stackoverflow com questions 1051379 is there a differ
  • 使用 android 捕获按键

    如何使用 android SDK 捕获手机按键 我已经环顾了几个小时没有找到任何东西 例如 在某些情况下 我想在用户按下手机上的 挂断 按钮时捕获消息 然后在消息到达操作系统之前将其丢弃 这可能吗 您可以处理视图中的关键事件 也可以处理整个
  • C 中 read() 和 fgets() 之间的区别

    我想从标准输入流中读取数据 使用 read 或 fgets 从 stdin 流读取有什么区别吗 我用 fgets 附加了以下两段代码并阅读 有了fgets 我可以使用java程序轻松地编写和读取c程序 通过读写 我的 java 程序挂起 等
  • 如何一次将多个值分配给一个结构体?

    我可以在 Foo 结构体的初始化中执行此操作 Foo foo bunch of things initialized 但是 我不能这样做 Foo foo foo bunch of things initialized 那么 两个问题 为什么
  • 如何使用 React.js 在 Botframework v4 聊天应用程序中执行发送“打字指示器”?

    我正在使用 botframework v4 构建一个聊天应用程序 以 React js 作为前端 以 net core 作为后端来生成令牌 我想使用 React 在我的聊天中实现 Typing 指示器 尝试使用 window WebChat
  • Ubuntu 上的 rpy2 安装

    我对 Linux 还很陌生 在安装 Rpy2 时遇到了一些严重的问题 我通过突触包管理器安装了旧版本的 Rpy2 但我需要更新版本并将其删除 如 Rpy2 文档中所述 Rpy2 目录中的所有文件 我下载了tar gz 来自 SourceFo
  • 如何使用 Timer 创建时钟?

    我正在尝试创建一个七段显示 它使用计时器以及 ActionListener 和 actionPerformed 自动移动 我认为如果我使用 for if 语句 它会自动从 0 循环到 2 并为每个数字段设置背景颜色 但是 当我显示它时 它停
  • HtmlAgility:没有出现任何内容(C#,UWP)

    我尝试使用 htmlagilitypack 来解析表格 完成后我意识到我忘记证明 htmlagility 部分是否有效 很明显它不起作用 我也不知道我错过了什么 我在哪里做错了 因为我是初学者 所以请不要对我太严厉 public parti