xml - 如何在delphi 7中解析xml文件
问题描述
早上好,我需要根据其 XSD(解析)验证 XML;我在 Win7 Virtualbox 机器上使用 Delphi 7。我在互联网上找到了例子和解释。我选择了这个看起来简单而恰当的例子:
procedure TForm1.Button1Click(Sender: TObject);
var XML, XSDL: Variant;
begin
XSDL := CreateOLEObject('MSXML2.XMLSchemaCache.4.0');
XSDL.validateOnLoad := True;
XSDL.add('','C:\Lavoro\Fattura_Elettronica_PRIVATI\Schema_del_file_xml_FatturaPA_versione_1.2.1.xsd');
ShowMessage('Schema Loaded');
XML := CreateOLEObject('MSXML2.DOMDocument.4.0');
XML.validateOnParse := True;
XML.resolveExternals := True;
XML.schemas := XSDL;
XML.load(Edit1.Text);
ShowMessage(XML.parseError.reason);
end;
但是“CreateOLEObject”函数会引发异常类 EOleSysError,并带有消息“接口字符串无效”(由意大利语翻译)。在 uses 子句中,我插入了“OleCtnrs、ComObj、xmldom、XMLIntf、msxmldom、XMLDoc、MSXML2_TLB”。为什么会出现这个异常?感谢您的回答。
解决方案
实际的错误代码是什么?如果它是 0x800401F3 (CO_E_CLASSSTRING),则消息是“无效的类字符串”,而不是“接口字符串无效”。我的猜测是您的计算机上没有安装 MSXML4。它很旧,请改用 MSXML6。
推荐阅读
- html - 实际上是否可以使用本地主机以外的主机名?
- apache-kafka - 如何通过从 REST api 触发的 Spring Cloud Stream 优雅地处理 Kafka 发布失败
- php - 带有 JQuery 和 PHP 脚本的 AJAX 不能一起处理 API 数据
- python - 如何在 Python 中评估预定义的符号变量数组?
- ruby-on-rails - Rails 迁移失败
- sql - 我有一个问题是从与 sql 中的其他列值不匹配的列中选择一个字符串
- php - 使用重定向到任何路由时,会话在 laravel 中自动过期
- android-studio - 在不改变colorPrimery,kotlin - android的情况下无法改变按钮的颜色
- http - 如果您要使用 向您的 HTML 文件添加 5 个图像,它将导致多少额外的 HTTP GET 调用?
- python - Python / Java:如何反转字符串单词但不是特殊字符