我有一个 powershell 脚本,可以将 HTML 文档转换为 Word、RTF、Text 和 Word 2010 (.docx)。许多文件出现以下错误:
Exception calling "Open" with "1" argument(s): "Word encountered an error processing the XML file Viewing_Customer_Payments.htm
DTD is prohibited.
Location: Line: 2, Column: 9"
At C:\blah\blah\blah\blah\blah.PS1:95 char:36
+ $opendoc = $word.documents.open <<<< ($docs.FullName)
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : ComMethodTargetInvocation
我一直在寻找 DTD Powershell 信息,虽然有很多关于在 C#、C++、VB 中设置允许/禁止值的文档,但对于 Powershell 来说却很少。具有潜在有用信息的一页加载错误,并且不会显示 powershell 示例代码;我怀疑这是尚未推出最新最好的 IE 的功能。
所以在一个完美的世界里,我想在我的脚本中包含一个允许 DTD 或忽略禁令的行。我不知道该怎么做,或者即使通过 powershell 有什么东西。
万一这很重要,SUCCESSFUL 文件转换具有以下标头:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
错误的文件使用这个:
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">