问题标签 [html-agility-pack]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
147 浏览

html-parsing - 我如何解析这个 HTML 文件?

我需要以某种方式提取 (new Image()) 的 href 值。我将如何使用 HtmlAgilityPack 完成此任务?

我是新手,到目前为止,我还没有找到关于如何有效地使用它进行解析的有用教程。

谢谢您的帮助!

0 投票
2 回答
1441 浏览

parsing - Html 敏捷包:DescendantsOrSelf() 不返回 HTML 元素

我有一些 HTML,例如:

我想找到 CxCMS:ContentManagedPlaceHolder 元素的所有实例。

我正在使用 HTML Agility Pack,这似乎是最合适的。

但是,尽管查看了 [meagre] 文档,但我无法让我的代码正常工作。

我希望以下工作:

但我什么也得不到。

如果我更改为 DescendantsOrSelf,我将返回文档节点“#document”——这是不正确的:

我也尝试过使用 LINQ:

由于这些方法都不起作用,我转而使用 SelectNodes,而不是:

这只会引发异常:“需要命名空间管理器或 XsltContext。此查询具有前缀、变量或用户定义的函数。”。我找不到将命名空间管理添加到 HtmlDocument 对象的任何方法。

我在这里错过了什么?DescendantsOrSelf() 方法在使用“标准”HTML 标签(例如“p”)时有效,但不是我拥有的标签。当然它应该工作?(它需要!)

0 投票
4 回答
2163 浏览

c# - 我可以为我的 WebBrowser 控件内的输入设置值吗?

我有一个网页加载到 WebBrowser 对象中。我想要做的是访问该页面上的元素以输入数据。例如,输入用户名和密码并提交表单。

这怎么可能?有任何想法吗?

我可以使用 HTMLAgilityPack 访问元素并设置它们的值吗?

0 投票
3 回答
1253 浏览

javascript - Javascript可以写在html href标签中吗?

我正在尝试找出所有可以编写 javascript 的方式。我正在制作可接受标签的白名单,但是这些属性让我很着迷。

在我丰富的 html 编辑器中,我允许链接之类的东西。

现在我正在使用 html 敏捷包来摆脱我不支持的属性和 html 标记。

但是我仍然不清楚一个人是否可以做这样的事情

所以我不确定我是否必须开始查看我支持的所有属性的内部文本并对它们进行 html 编码?或者如果什么。

我也不确定如何防止进入某个页面并在加载时启动一些 javascript 的 html 链接。

我不确定白名单是否可以阻止该名单。

0 投票
2 回答
3656 浏览

c# - 使用 HtmlAgilityPack 解析节点的子节点时出现问题

我在解析 html 中表单的输入标记子项时遇到问题。我可以使用 //input[@type] 从根目录解析它们,但不能作为特定节点的子节点。

这是一些说明问题的代码:

输出的是:

我期望的是 Form1 和 Form2 都会有孩子,并且 input[@type] 将能够为 form1 找到 2 个节点,为 form2 找到 1 个节点

是否有我不应该使用的特定配置设置或方法?有任何想法吗?

谢谢,

史蒂夫

0 投票
2 回答
18890 浏览

c# - HTML Agility Pack 条带标签不在白名单中

我正在尝试创建一个函数来删除不在白名单中的 html 标记和属性。我有以下 HTML:

我正在使用 HTML 敏捷包,到目前为止我的代码是:

我尝试实现的输出是

这意味着我只想保留<b>标签。
我这样做的原因是因为一些用户将 MS WORD 中的 cpoy 粘贴到 ny WYSYWYG html 编辑器中。

谢谢。!

0 投票
2 回答
1657 浏览

c# - 解析中的html敏捷包问题

我有这个简单的字符串:

我如何使用 html 敏捷包来解析文本。

请注意:有一个跨度嵌套在另一个跨度内。

谢谢,杆。

0 投票
1 回答
333 浏览

asp.net - 在节点选择条件中添加 OR 子句 - HTMLAgility

我可以使用 HTMLAgility 将 OR 子句放在节点选择中吗

我需要的是有时它应该像SelectNodes("//td[@class=\"roomPrice figure\"]"); 有时它像SelectNodes("//td[@class=\"roomPrice figure bb\"]");

我需要同时获得两个课程roomPrice figureroomPrice figure bb

我怎样才能做到这一点。

谢谢你的帮助

0 投票
5 回答
16885 浏览

html - 使用 Html Agility Pack 剥离所有 html 标签

我有一个这样的html字符串:

我希望剥离所有 html 标签,以便生成的字符串变为:

从 SO 的另一篇文章中,我提出了这个功能(它使用 Html Agility Pack):

不幸的是,这并没有返回我所期望的,而是给出了:

拜托,我哪里出错了——这是最好的方法吗?

问候和快乐的编码!

更新:通过下面的答案,我想出了这个功能,可能对其他人有用:

0 投票
1 回答
1889 浏览

html - 使用 HTML Agility Pack 查询 HTML 以获取 ID 时出现异常

我正在使用 HTML Agility 包来解析 Visual Studio 中的 ASPX 文件。

我正在搜索具有指定 ID 属性的元素。

我正在使用的代码是:

但是,当我运行此代码时,它会引发异常“表达式必须评估为节点集”。

谁能告诉我为什么这个“必须”评估为节点集?为什么它不能简单地不返回节点(下一行调用 tagsWithId.Count)?SelectNodes 方法返回的 HtmlNodeCollection 肯定可以包含 0 个节点吗?

或者是由于格式错误的 Xpath 表达式导致的错误?[我正在测试的选择器 ID 肯定存在于文件中,为 <div id="thisId">。]

是否可以直接从 Visual Studio 加载一个 ASPX 文件(我正在构建一个加载项)或者这是否包含 XML 错误,我是否必须加载输出 HTML 流(在开始时没有页面声明文件)?