HAP 解析 HTML 文档中的格式
HAP parses formatting in HTML documents
我正在使用以下代码从我的 HTML 文档中提取一个节点:
var nodeCollection = doc.DocumentNode.SelectSingleNode(@"/html[1]/body[1]/div[2]");
HTML 文档采用一些基本格式进行了格式化,以提高 Notepad++ 的可读性。 HAP 似乎正在解析此格式(新行和一些制表符缩进)并在返回的 HTML 节点的 innerHTML
和 innerText
属性中返回它们:
我可以在不更改输入文件的情况下缓解这种情况吗?
免责声明:我是项目的所有者Html Agility Pack
innerHtml
innerHtml 做它应该做的。它显示 HTML,包括所有 HTML 标记、space、制表符和换行符。
所以对于这个,它按预期工作。
innerText
对于 DIV
这样的标签,它应该 不 显示 space、制表符或新行。
所以对于 innerText,有一个错误。
我已将此请求添加到我们的路线图中,并希望在下周一之前提供修复。我会在可用时编辑此答案。
编辑: 添加发布通知
从v1.6.2开始,改进InnerText
属性去掉换行,space和制表符。在未来的版本中会有更多的改进,以更好地处理一些也会影响 InnerText
的样式属性
但是,新的 InnerText
逻辑仅在将 BackwardCompatibility 设置为 false 时才可用,因为此更改对当前使用此库的人影响巨大:new HtmlDocument() { BackwardCompatibility = false};
我正在使用以下代码从我的 HTML 文档中提取一个节点:
var nodeCollection = doc.DocumentNode.SelectSingleNode(@"/html[1]/body[1]/div[2]");
HTML 文档采用一些基本格式进行了格式化,以提高 Notepad++ 的可读性。 HAP 似乎正在解析此格式(新行和一些制表符缩进)并在返回的 HTML 节点的 innerHTML
和 innerText
属性中返回它们:
我可以在不更改输入文件的情况下缓解这种情况吗?
免责声明:我是项目的所有者Html Agility Pack
innerHtml
innerHtml 做它应该做的。它显示 HTML,包括所有 HTML 标记、space、制表符和换行符。
所以对于这个,它按预期工作。
innerText
对于 DIV
这样的标签,它应该 不 显示 space、制表符或新行。
所以对于 innerText,有一个错误。
我已将此请求添加到我们的路线图中,并希望在下周一之前提供修复。我会在可用时编辑此答案。
编辑: 添加发布通知
从v1.6.2开始,改进InnerText
属性去掉换行,space和制表符。在未来的版本中会有更多的改进,以更好地处理一些也会影响 InnerText
但是,新的 InnerText
逻辑仅在将 BackwardCompatibility 设置为 false 时才可用,因为此更改对当前使用此库的人影响巨大:new HtmlDocument() { BackwardCompatibility = false};