HAP解析HTML文档中的格式

时间:2017-10-20 11:03:49

标签: c# html-agility-pack

我使用以下代码从HTML文档中提取节点:

type some
integer(4),pointer :: xx(:)
integer(4),pointer :: yy(:)
end type

type(some), pointer :: data(:)
call func(data(3) % xx, data(5) % yy)

HTML文档采用一些基本格式进行格式化,以提高Notepad ++的可读性。 HAP似乎正在解析此格式(一个新行和一些选项卡缩进),并在返回的HTMLNode的var nodeCollection = doc.DocumentNode.SelectSingleNode(@"/html[1]/body[1]/div[2]"); innerHTML属性中返回它们: enter image description here

我可以在不改变输入文件的情况下缓解这种情况吗?

1 个答案:

答案 0 :(得分:1)

免责声明:我是该项目的所有者Html Agility Pack

的innerHTML

innerHtml做它应该做的事情。它显示HTML,包括所有HTML标记,空格,制表符和新行。

所以对于这个,它按预期工作。

的innerText

对于此类DIV标记, NOT 应显示空格,制表符或新行。

因此对于innerText,存在一个错误。

我已将此请求添加到我们的路线图中,并希望在下周一之前提供解决方案。我会在可用的时候编辑这个答案。

编辑:添加发布通知

自v1.6.2起,InnerText属性已得到改进,可删除换行符,空格和制表符。未来的版本还会有一些改进,以便更好地处理一些也会影响InnerText

的样式属性

但是,新的InnerText逻辑仅在将BackwardCompatibility转为false时才可用,因为此更改会对当前使用此库的人产生巨大影响:new HtmlDocument() { BackwardCompatibility = false};