- objective-c - iOS 5 : Can you override UIAppearance customisations in specific classes?
- iphone - 如何将 CGFontRef 转换为 UIFont?
- ios - 以编程方式关闭标记的信息窗口 google maps iOS
- ios - Xcode 5 - 尝试验证存档时出现 "No application records were found"
我正在使用 HtmlAgilityPack。我使用以下字符串创建一个 HtmlDocument 和 LoadHtml:
<select id="foo_Bar" name="foo.Bar"><option selected="selected" value="1">One</option><option value="2">Two</option></select>
这会做一些意想不到的事情。首先,它给出了两个解析器错误,EndTagNotRequired。其次,选择节点有 4 个子节点——两个用于选项标签,另外两个用于选项标签的内部文本。最后,OuterHtml 是这样的:
<select id="foo_Bar" name="foo.Bar"><option selected="selected" value="1">One<option value="2">Two</select>
所以基本上我决定删除选项上的结束标记。让我们暂时搁置一下这样做是否合适和可取。我正在使用 HtmlAgilityPack 来测试 HTML 生成代码,所以我不希望它为我做出任何决定或给出任何错误,除非 HTML 确实格式错误。有什么方法可以让它按照我的意愿行事吗?我尝试为 HtmlDocument 设置一些选项,特别是:
doc.OptionAutoCloseOnEnd = false;
doc.OptionCheckSyntax = false;
doc.OptionFixNestedTags = false;
这是行不通的。如果 HtmlAgilityPack 不能做我想做的,你能推荐一些可以的吗?
最佳答案
在 HAP 主页的讨论中报告了完全相同的错误,但看起来在几年内没有对该项目进行任何有意义的修复。不鼓励。
快速浏览源代码表明可以通过注释掉 HtmlNode.cs 的第 92 行来修复错误:
// they sometimes contain, and sometimes they don 't...
ElementsFlags.Add("option", HtmlElementFlag.Empty);
(实际上不,它们总是包含标签文本,尽管空白字符串也是有效文本。粗心的作者可能会省略结束标记,但任何元素都是如此。)
添加
等效的解决方案是在使用任何库之前调用 HtmlNode.ElementsFlags.Remove("option");
(无需修改库源代码)
关于HtmlAgilityPack 删除选项结束标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/293342/
HTML En son haber 01:029.023 代码 Dim request2 As HttpWebRequest = WebRequest.C
我正在使用 HtmlAgilityPack。我使用以下字符串创建一个 HtmlDocument 和 LoadHtml: OneTwo 这会做一些意想不到的事情。首先,它给出了两个解析器错误,EndTa
我需要从博客中获取一些帖子。一切都很顺利,直到我想获得帖子创建日期。它的 DOM 树是: div class="stories-feed__container" -> article -
我需要获取网页上的总字数。这个方法返回的数字是336。但是当我从wordcounter.net手动查看时,大约是1192个字。我怎样才能得到文章的字数? int kelimeSayisi()
使用 HtmlAgilityPack 和 c# 4.0 如何确定页面是否被重定向。我正在使用这种方法来加载页面。 HtmlDocument hdMyDoc = hwWeb.Load(srPageUrl
我正在尝试使用 HtmlAgilityPack 获取计时器的值,但是当我通过元素 ID 获取内部文本时,它会返回 --:--:-- 既然使用了AJAX,有什么方法可以获取时间值吗? 最佳答案 通过使用
jQuery改变后是否可以获取HtmlDocument?例如,在下次更改后通过“myId”获取元素。 js代码: $(document).ready(function () { $("#myC
我有以下 html 元素: MyString buttonText So,
我的目标是从网站上读出特定的容器/标签/属性(出于我的爱好),一切正常,除了为我的值(value)获取德语翻译(我通常在浏览器中手动打开网站时得到(可能是网站从用户代理获取特定信息),但如果我使用我的
是否可以在使用 HTMLAgilityPack 时忽略解析错误? 最佳答案 作为suggested by TrueWill ,您可能需要先清理 HTML,然后再尝试使用 HTMLAgilityPack
我正在使用 HtmlAgilityPack 在 C# Asp.Net 中执行 Scraping,到目前为止,我在从多个 Web 执行 Scratch 时没有遇到问题,但是,尝试弹出以下代码时出现错误
我在服务器上的解析器中使用 HTMLAgilityPack,但我正在解析的其中一个网站出现问题:每天早上 6 点左右,他们往往会关闭服务器进行维护,这会抛出 HTMLWeb 的 Load() 方法,并
这是我的html代码。如何在每个 div 标签后选择第一个链接(a) 我试过只使用一个斜杠://div[@class="test
我有异常抛出 gzip 不受支持。这就是我使用加载页面的全部内容,关于如何允许 gzip 的任何想法? HtmlWeb hwObject = new HtmlWeb();
我正在 SharePoint Foundation 中开发 C# ASP .NET WebPart。 一切正常,现在我想解析一个 HTML 页面以获取所有 ImagePaths 并将图像保存在 HD/
我一直在尝试使用 Html Agility Pack 在 Html 中附加一个新节点。 这是我的示例 Html
我想用这段代码解析一个 html 文件: ...... 问题是 HtmlAgilityPack 会自动关闭 div 结束标记之前的表单标记: ......所以当我解析表单时,一些表单元素丢失了。 (我
一般来说,我经常处理 html,并且总是使用 Regex 来获取结果。不过,每次我寻求帮助时,每个人都建议使用 HTML 解析器,例如 HTMLAgilitypack。 我刚刚试过了,伙计,现在对我来
当我删除一个节点(使用 keepGrandChildren )时,该节点同时包含文本和子节点,文本将一直推到子节点之后,而不是留在其原始位置。 示例: var doc = new HtmlDocume
我使用这段代码来获取页面信息但是现在站点已经更改并且我的应用程序返回空错误。 HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDo
我是一名优秀的程序员,十分优秀!