【问题标题】:Error -1072896636 "DTD Prohibited" when opening xml file in Excel, what do I do?在 Excel 中打开 xml 文件时出现错误 -1072896636 “DTD Prohibited”,我该怎么办?
【发布时间】:2014-04-19 16:18:54
【问题描述】:

我正在尝试在 Excel 2013 中打开一个 XML 文件,但它说它不能这样做,因为“DTD 被禁止”。我已经搜索了解决方案,但我发现的只是一些应该解决问题的代码。

但我完全不明白!什么代码?我只是打开文件,我没有编写程序或任何东西。我应该在打开文件之前大声背诵该代码还是什么?对不起,但我觉得这很荒谬。

是否有一些解决方案可以打开文件而不为其编写程序?如果没有,我应该如何处理这段代码?

我说的代码如下

Set xmlDoc = CreateObject("Msxml2.DOMDocument.6.0")
xmlDoc.setProperty "ProhibitDTD",False
xmlDoc.load xmltoload.xml

我发现该文件可能应该在 Word 而不是 Excel 中打开,但 Word 2013 给了我同样的错误。

答案:
看来该文件毕竟应该在 Excel 中打开。我在 Internet 上发现 Office 2007 及更早版本并没有禁止 DTD。所以我通过在 Excel 2003 中打开所需文件成功绕过了这个问题。

【问题讨论】:

    标签: xml excel dtd


    【解决方案1】:

    解决方法非常简单。在文本编辑器中打开 XML 文件并删除引用 DTD 位置的行。

    Excel 将根据您的 XML 文件创建 XML 架构。

    【讨论】:

      【解决方案2】:

      所有 XML 文档都依赖于对允许存在哪些字段以及允许在每个字段中存在哪些值的定义。这些是通过链接到文档类型定义(“DTD”)或 XML 架构文件在每个 XML 文件中定义的。

      我的理解是 Excel 2007 及更高版本不支持 DTD。相反,他们希望您的 XML 文件将引用 XML 模式。

      因此,您的根本问题是您的 XML 文件引用了 DTD 文件,您需要将 DTD 文件转换为 XML Schema 文件(您可以通过使用 Notepad++ 之类的程序打开文档并查看原始文件来验证这一点文本。)

      有很多工具可以帮助您做到这一点,但坦率地说,我已经尝试让它们全部工作了几个小时,但仍然没有 Excel 打开我的 XML(跑过这篇文章谷歌搜索相同的错误代码。)

      如果您只是想一次性打开一个 XML 文件,您可能不想花太多精力在其中 - 但如果我找到一个快速简便的解决方案,我会来更新。

      如果您只需要打开它,您可以下载一个免费的程序,将 XML 转换为 CSV:

      http://xmltocsv.codeplex.com/

      我试过了,效果很好——让我的文件立即在 Excel 2013 中打开。问题暂时解决了。

      当然,XML 的意义在于数据可以与具有上下文的其他数据相关联,并且如果没有适当的模式或 DTD 文件,这些数据就会丢失。但是,如果您只想打开文件,那么现在应该可以使用(对于那些还没有 Excel 2003 的人,尽管我想这对您来说同样容易。)

      【讨论】:

        【解决方案3】:

        最近,我在与 Office365 帐户关联的 Excel 的 ClickOnce 版本中看到此错误再次出现。它不影响通过 CD/ISO 分发的 Excel 版本。您可以通过版本号来区分两者。

        转到文件 |帐户 |点击“关于 Excel”按钮

        • 16.0.4456.1003 - CD/ISO
        • 16.0.7571.7063 - ClickOnce

        当 XML 文件没有 DTD 并且没有 XML Schema 文件时会触发该错误。尝试刷新数据连接时,您会收到 DTD 错误。如果您实际编辑 XML 查询,数据确实会更新。我怀疑这是一个错误。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-04-27
          • 1970-01-01
          • 2022-11-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多