2009-07-16 60 views

回答

8

Delphi附帶了TXMLDocument,它是一個可以讓您在MSXML,Open XML和Xerces XML之間進行選擇的包裝器。

我只是導入微軟的MSXML並直接使用它。

在Component | Import Component ...下,選擇Type Library並瀏覽至Microsoft XML。我推薦6.0,但如果你喜歡,你可以使用4。避免使用3,因爲它不符合XML標準,而且早期版本泄漏內存,而版本5僅適用於Office。

更新

如果速度是一個大問題,你可能想看看SAX(用於XML的簡單API),該流的XML,而不是在內存中建立DOM的。這曾經被包含在MSXML中,但我認爲我在某些地方已經在版本6中刪除了它。我通常使用DOM,所以我不能推薦特定的SAX解析器,但在SourceForge上快速搜索會返回一些選項。

+0

是的,我知道TXMLDocument,但它的處理速度太慢了。 我只需要生成XML內容,並解析XML內容,我需要的速度很快。 – Leo 2009-07-16 10:56:34

+1

然後我會看看導入MSXML(而不是通過TXMLDocument使用它),這對DOM處理來說非常快。如果速度是你最大的問題,或者你有很大的XML文件,那麼看看SAX。我會更新我的答案。 – 2009-07-16 11:17:58

1

怎麼樣包含在Delphi2007中的msxml? 我認爲它也適用於D2009。

1

Delphi包含TXMLDocument/IXMLDocument,它可以使用MSXML和其他解析器。你還需要什麼?

2

開放XML,替代文檔對象模型(ADOM)也是一個很好的(和100%Delphi,沒有ActiveX/COM依賴項)XML庫。

它支持Delphi 5,6,7,8,2005年,2006年,2007年和2009年

http://www.philo.de/xml/downloads.shtml

2

NativeXML從SimDesign支持Delphi 2 - >德爾福2010年

  • 這是本地delphi所以不需要外部dll。
  • 免費提供。
  • 可以購買高級支持(論壇/電子郵件)。
  • 購買可以訪問更頻繁的更新/錯誤修復等。
  • 附帶文檔和示例。

在查找NativeXML之前,我查看了其他幾個XML解決方案。有些沒有工作。與我的適度XML需求相比,大多數似乎過於困難。我只需要解析配置信息等的小XML文件。

在實踐中,我發現NativeXML設計合理,易於使用。我強烈建議檢查一下!

+0

現託管於Google Code:http://simdesign.googlecode.com – mjn 2011-12-04 18:53:46