创建和解析XML文档的最佳实践

时间:2009-07-28 17:57:19

标签: xml delphi delphi-7

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

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

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

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

你有关于此的提示吗?

感谢。

3 个答案:

答案 0 :(得分:6)

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

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

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

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

答案 1 :(得分:3)

这只是轶事,我不知道最佳做法是什么:

我正在使用TXMLDocument一段时间,但它非常麻烦,至少Delphi 7版本不允许我做XPath,这就是为什么我想首先使用XML。

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

答案 2 :(得分:0)

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

我建议使用DIXML,特别是如果您需要验证和/或转换这些XML文件。