我怀疑是否应该使用 TXMLTransformProvider 或 TXMLDocument。
TXMLTransformProvider 看起来更易于维护,在我看来,使用它所需的编码比 TXMLDocument 更少。
另一方面,TXMLDocument 看起来更灵活。
我需要的是生成和解析具有嵌套属性的 XML 文档,将其映射到主从 clientDataSets 并写回一个 XML 文档。
你有这方面的提示吗?
谢谢。
如果数据文件来自外部来源,我首先想到的是XML Binding Wizard。这也是一个简短的视频教程。
如果您从自己的数据源生成 XML,则可以将其链接到 TClientDataSet 并将其保存为 XML。这很方便,因为您可以重新加载 XML 并将其视为任何其他数据集。
如果数据非常大,将需要很长时间才能读入内存中的 DOM。我会看一个 SAX 处理器。这是一个不同的过程,不会让您以相同的方式在内存中导航树,但它要快得多。
如果您可以自己操作 XML 并且您不需要处理非常大的 XML 文件,那么我喜欢 Peter 导入 MSXML 库并直接使用它的想法。这比使用 TXMLDocument 执行得更好。
这只是轶事,我不知道最佳实践是什么:
我使用那个 TXMLDocument 有一段时间了,但它非常麻烦,至少 Delphi 7 版本不允许我使用 XPath,这就是我想首先使用 XML 的原因。
我为 IXMLDomDocument2 导入了类型库,从那以后我就一直在使用它。我真的不明白它是如何工作的,但它非常棒,所有帮助都在 MSDN 中。
Bruce 和 Peter 的解决方案很好,但他们要求客户端计算机安装了 MSXML。
我会推荐 DIXML,特别是如果您需要验证和/或转换这些 XML 文件。