如何加载和解析HTML而不修改其内容

时间:2015-05-05 15:20:16

标签: javascript html .net perl dom

使用许多技术解析和遍历HTML4文件的方法有很多种。但是我找不到合适的来将该DOM再次保存到文件中。

我希望能够将HTML文件加载到DOM中,更改一个小东西(例如属性的值),再次将DOM保存到文件中,并在分析源文件和创建的文件时,希望他们完全相同,除了那个微小的改变。

使用XML和合适的XML库时,这种任务绝对没有问题,但是当谈到HTML时,有几个问题:诸如缩进或换行符之类的空格丢失或插入,自动关闭的开始标记(如当<link...>)显示为<link.../>和/或CDATA部分的内容(例如<script></script>之间)被包含在<![CDATA[ ]]>中。这些事情在我的案例中至关重要。

在没有上述缺点的情况下,我可以通过哪种方式加载,遍历,操作和保存HTML,最重要的是没有要更改的空白文本节点?

2 个答案:

答案 0 :(得分:0)

comparison

如果你想真正认真地忽略了GUI并且无头,SO示例Phantom

答案 1 :(得分:0)

我要去HTML Agility Pack。 加载和保存不会操纵除无效部分之外的任何其他内容。