我使用以下代码从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
属性中返回它们:
我可以在不改变输入文件的情况下缓解这种情况吗?
答案 0 :(得分:1)
免责声明:我是该项目的所有者Html Agility Pack
innerHtml做它应该做的事情。它显示HTML,包括所有HTML标记,空格,制表符和新行。
所以对于这个,它按预期工作。
对于此类DIV
标记, NOT 应显示空格,制表符或新行。
因此对于innerText,存在一个错误。
我已将此请求添加到我们的路线图中,并希望在下周一之前提供解决方案。我会在可用的时候编辑这个答案。
编辑:添加发布通知
自v1.6.2起,InnerText
属性已得到改进,可删除换行符,空格和制表符。未来的版本还会有一些改进,以便更好地处理一些也会影响InnerText
但是,新的InnerText
逻辑仅在将BackwardCompatibility转为false时才可用,因为此更改会对当前使用此库的人产生巨大影响:new HtmlDocument() { BackwardCompatibility = false};