【问题标题】:Best practices for creating and parsing XML documents创建和解析 XML 文档的最佳实践
【发布时间】:2009-07-28 17:57:19
【问题描述】:

我不确定是否应该使用 TXMLTransformProvider 或 TXMLDocument。

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

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

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

您对此有什么建议吗?

谢谢。

【问题讨论】:

    标签: xml delphi delphi-7


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 高品质版视频教程:codegearguru.com/…
    • 嗨,阿利斯特。是的,我应该包含一个直接链接。
    【解决方案2】:

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

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

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

    【讨论】:

      【解决方案3】:

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

      我会推荐DIXML,尤其是当您需要验证和/或转换这些 XML 文件时。

      【讨论】:

        猜你喜欢
        • 2011-01-15
        • 1970-01-01
        • 2010-09-06
        • 1970-01-01
        • 1970-01-01
        • 2021-09-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多