考虑以下 HTML 片段(_
用于空白):
<head>
...
<link ... ___/>
<!-- ... -->
...
</head>
我正在使用 Html Agility Pack (HAP) 来读取 HTML 文件/片段并删除链接。我想做的是找到LINK
(以及其他一些)元素,然后用空格替换它们,如下所示:
<head>
...
____________
<!-- ... -->
...
</head>
到目前为止,解析部分似乎正在工作,我得到了我正在寻找的节点。但是,HAP 尝试修复 HTML 内容,而我需要一切正常exactly一样,除了我试图做出的改变。另外,HAP在写回之前读入的内容时似乎有很多错误,所以我想要采取的方法是让HAP解析输入,然后我返回到原始输入并替换我的内容不想要。
问题是,HtmlNode
似乎没有输入长度属性。它有StreamPosition
这似乎表明在输入中开始读取节点内容的位置,但我找不到长度属性来告诉我构建节点消耗了多少个字符。
我尝试使用OuterHtml
财产,但不幸的是,他试图修复LINK
通过删除___/
部分(一个LINK
元素不应该被关闭)。因为这,OuterHtml.Length
返回错误的长度。
HAP中有没有办法获取这些信息?
我最终修改了 HtmlAgilityPack 的代码以公开返回私有的新属性_outerlength
现场HtmlNode
.
public virtual int OuterLength
{
get
{
return ( _outerlength );
}
}
到目前为止,这似乎运行良好。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)