【问题标题】:MSXML alternative [closed]MSXML 替代方案 [关闭]
【发布时间】:2011-09-23 23:20:48
【问题描述】:

是否有 MSXML 替代方案? 我认为 MSXML 与以前的版本发生冲突。 我也更喜欢开源,至少是有源代码的工具。 Delphi 是我的选择,但我可以管理 c/c++。 它应该支持所有没有 MSXML 依赖的构造、导航和 xmlhttp 接口。 感谢任何线索

【问题讨论】:

  • 是什么让您认为 MSXML 与以前的版本有冲突?
  • 我认为导致问题的不是 MSXML,而是用于测试它的目标系统上缺少 DLL。
  • 请注意,MSXML 行为很大程度上取决于您安装的 MSXML 版本,尤其是当您想要执行 XPath 操作时。
  • @Jeroen,我知道 3 和 4 之间存在 XPath 差异,但不知道之后有很大的变化。
  • @Bruce:比如这个:stackoverflow.com/questions/4346060/…

标签: xml delphi open-source msxml xmlhttprequest


【解决方案1】:

使用 TXmlDocument,您可以使用 MSXML 或 Delphi 附带的开源实现 Open XML (http://www.philo.de/xml/)。如果使用 TXmlDocument,则使用的 MSXML 版本是机器上可用的最新版本,因此不会冲突。

【讨论】:

  • MSXML 不使用最新版本,使用哪个版本取决于用户。 MSXML 没有与版本无关的程序标识符。如果您查看 TXMLDocument,您会发现它首先尝试使用 MSXML 6.0,如果最新版本不可用,则回退到早期版本。
  • @The_Fox,这就是我的意思,所以我已经相应地更新了答案。
  • @The_Fox:实际上这取决于您使用的 Delphi 版本。例如,Delphi 2007 不知道开箱即用的 MSXML6。
  • @Idsandon:我知道,这与 Delphi 7 相同。这是不使用与版本无关的标识符的缺点。您只能支持现在发布的内容。在 Delphi 7(和 2007)发布时,MSXML 6.0 不可用。
【解决方案2】:

您可以使用OmniXML,它具有与 MSXML 兼容的接口。在 OmniXML 之上还有SimpleStorage 一组接口,使其更加强大和易于使用。

【讨论】:

    【解决方案3】:

    你也可以看看NativeXML,它是开源的。

    【讨论】:

    【解决方案4】:

    himXML 工作也很好而且很快。

    • 支持unicode
    • 在 MPL v1.1、GPL v3.0 或 LGPL v3.0 下
    • 很快
    • 很简单

    您可以从德国 delphi-praxis 网站获取。

    【讨论】:

      【解决方案5】:

      看看DiXML,它基于 libxml2、libxslt 和 libexslt 库(DIXml 不需要 DLL 或任何其他外部文件)。

      【讨论】:

        猜你喜欢
        • 2012-10-08
        • 2010-10-11
        • 2017-03-23
        • 1970-01-01
        • 1970-01-01
        • 2010-09-18
        • 2010-11-22
        • 2018-06-16
        • 2014-08-25
        相关资源
        最近更新 更多