Delphi XE3,如何设置 MSXML MaxElementDepth 以允许读取深层 XML 文档

标签 delphi msxml

我的 SVG 文件由于某种原因具有超过 256 个深度嵌套元素,并且阻止了 Delphi 加载 SVG 文件,因为它违反了 MSXML 的 MaxElementDepth 约束(默认值为 256)。

有谁知道如何在运行的程序中将 MSXML 中的 MaxElementDepth 值设置得更高,以便我可以读取 SVG 文件?

我尝试了替代 CoDOMDocument40,它有一个用于设置属性的方法 (setProperty),但当我尝试设置 MaxElementDepth 时,它报告无效的属性名称。

我能想到的其他选择是运行命令行工具来扁平化层次结构,但我不想这样做......

非常感谢您的帮助:-)

最佳答案

看来您应该使用 CoDOMDocument60 而不是 CoDOMDocument40:

MaxElementDepth Property

This property is supported in MSXML 3.0 and 6.0. The default value is 0 for 3.0. The default value is 256 for 6.0.

关于Delphi XE3,如何设置 MSXML MaxElementDepth 以允许读取深层 XML 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13567607/

相关文章:

c++ - IXSLTemplate::putref_stylesheet 返回 E_INVALIDARG

xml-namespaces - 解析 MSXML 时引用未声明的命名空间前缀

c++ - XMLHttpRequest SXH_OPTION_SELECT_CLIENT_SSL_CERT 命名约定和冲突

xml - 使用Delphi如何确定系统中是否安装了MSXML6?

delphi - 更改 Delphi 控制台应用程序的图标

delphi - PNGImage "Access violation"程序结束时出现错误

delphi - 是否可以在 Delphi 中组合资源字符串?

delphi - 如何更改 TPageControl 上标签的方向?

c - C中的初始化部分

soap - 使用经典 ASP 发送 'application/soap+xml' SOAP 请求