如何在将大型HTML转换为Word 2007时处理内存不足异常
本文关键字:2007时 Word 处理 内存不足 异常 转换 大型 HTML | 更新日期: 2023-09-27 17:57:06
我有一个.NET Windows服务,它获取HTML内容并从中生成Word 2007文件。现在,HTML 内容在转换为 Word 2007 文档之前,通过递归函数进行清理(删除空标记等)。但是,由于递归函数,有一些大的HTML内容会创建"内存不足"异常。我在方法上放置了一个重试计数器,以便调用该函数的次数不会超过计数器次数。但是,这导致许多 HTML 文件无法转换或转换为错误的 Word 2007 内容。
如果我尝试划分要处理的 HTML 源代码,它可能会使事情复杂化,因为每个 HTML 结构都不同,拆分内容可能会导致更改清理代码。
需要有关如何处理此问题的一些建议。
任何帮助将不胜感激。
不要使用递归。试用 HTML Agility Pack。
这是一个通常推荐用于此的 HTML 解析器。它将采用格式错误的 HTML 并将其压缩到 XHTML 中,然后是可遍历的 DOM,就像 XML 类一样。
您可以尝试用 try...catch 语句以捕获 OutOfMemoryException。这至少可以让您继续下一个文件。