【发布时间】:2016-03-08 15:36:57
【问题描述】:
我试图了解在我们将用 Delphi 10 Seatlle 编写的应用程序中使用 OmniXML。我已经搜索了互联网,但我能找到的只是示例,这些示例显然使用了另一个版本的 Delphi 和/或另一个版本的 OmniXML,因为它们使用的语句不再被接受
喜欢
var doc: IXMLDocument;
doc := CreateXMLDoc;
doc.selectSingleNode(....);
doc.SelectNodes(...);
我对使用带有命名空间的 Selectnodes() 尤其感兴趣(在 MSXML 实现中,必须设置“SelectionNamespaces”属性)。
任何人都可以向我提供或指向 Delphi 10 Seattle 中的 OmnniXML 工作示例吗?
【问题讨论】:
-
这里很难克服所有的拼写错误。也很难相信 OmniXML 发生了如此大的变化,以至于所有历史示例都不再有效。 “不再接受nog”是什么意思?是否有一些实际代码和错误消息?如果您发布一个无法编译的完整程序(或者如果错误是运行时错误,则无法运行)并寻求帮助会更好。在这里询问示例是题外话:stackoverflow.com/help/on-topic.
-
上面的代码无法编译,3 个语句中没有一个是有效的 ;-) 我发现的大多数示例的问题是没有指定使用条款,这使得几乎不可能重新创建像我这样的 xml 初学者,沉迷于 XMLDoc、XMLDOm、Omnixmldom、XMLintf 等
-
OmniXML 看起来无论如何都已经死了。你确定这是一个不错的选择吗?
-
OmniXML 接口在很长一段时间内都没有改变,因此您很可能只是在uses 子句中遗漏了一个单元。由于您未能发布显示您实际尝试执行的操作的 MCVE,因此无法确定。我在一些已更新到西雅图的遗留项目中使用 OmniXML,它们都运行良好。
-
@Bascy 作为一个独立的项目,OmniXML 似乎垂死了。我不知道它已被 Emba 吸收用于 x-plat 目的,但它很有意义。我认为关键在于您使用标准的 Emba XML RTL 库,但使用omnixml 作为 DOM 供应商。因此,您不想使用 OmniXML 示例。您想使用 XMLDoc 示例。另一种思考方式是,您没有使用 OmniXML,它只是后端,即供应商 DOM。
标签: xml delphi delphi-10-seattle