2

我怀疑是否应该使用 TXMLTransformProvider 或 TXMLDocument。

TXMLTransformProvider 看起来更易于维护,在我看来,使用它所需的编码比 TXMLDocument 更少。

另一方面,TXMLDocument 看起来更灵活。

我需要的是生成和解析具有嵌套属性的 XML 文档,将其映射到主从 clientDataSets 并写回一个 XML 文档。

你有这方面的提示吗?

谢谢。

4

3 回答 3

6

如果数据文件来自外部来源,我首先想到的是XML Binding Wizard。这也是一个简短的视频教程

如果您从自己的数据源生成 XML,则可以将其链接到 TClientDataSet 并将其保存为 XML。这很方便,因为您可以重新加载 XML 并将其视为任何其他数据集。

如果数据非常大,将需要很长时间才能读入内存中的 DOM。我会看一个 SAX 处理器。这是一个不同的过程,不会让您以相同的方式在内存中导航树,但它要快得多。

如果您可以自己操作 XML 并且您不需要处理非常大的 XML 文件,那么我喜欢 Peter 导入 MSXML 库并直接使用它的想法。这比使用 TXMLDocument 执行得更好。

于 2009-07-28T18:39:20.760 回答
3

这只是轶事,我不知道最佳实践是什么:

我使用那个 TXMLDocument 有一段时间了,但它非常麻烦,至少 Delphi 7 版本不允许我使用 XPath,这就是我想首先使用 XML 的原因。

我为 IXMLDomDocument2 导入了类型库,从那以后我就一直在使用它。我真的不明白它是如何工作的,但它非常棒,所有帮助都在 MSDN 中。

于 2009-07-28T18:05:47.490 回答
0

Bruce 和 Peter 的解决方案很好,但他们要求客户端计算机安装了 MSXML。

我会推荐 DIXML,特别是如果您需要验证和/或转换这些 XML 文件。

于 2009-07-29T05:41:46.700 回答