我怀疑是否应该使用TXMLTransformProvider或TXMLDocument。
TXMLTransformProvider看起来更易于维护,在我看来,使用它需要的编码少于TXMLDocument。
另一方面,TXMLDocument看起来更灵活。
我需要的是生成和解析具有嵌套属性的XML文档,将其映射到master-detail clientDataSets并写回一个XML文档。
你有关于此的提示吗?
感谢。
答案 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文件。