2009-07-28 91 views
2

我不確定是否應該使用TXMLTransformProvider或TXMLDocument。創建和解析XML文檔的最佳做法

TXMLTransformProvider看起來更易維護,而且在我看來,使用它比TXMLDocument需要更少的編碼。

另一方面,TXMLDocument看起來更加靈活。

我需要的是生成並解析具有嵌套屬性的XML文檔,將其映射到master-detail clientDataSets並寫回一個XML文檔。

您對此有何提示?

謝謝。

回答

6

如果數據文件來自外部來源,我首先想到的將是XML Binding Wizard。這裏也有一個簡短的video tutorial

如果您要從您自己的數據源生成XML,可以將其鏈接到TClientDataSet並將其另存爲XML。這很方便,因爲您可以重新加載XML並將其像其他任何數據集一樣對待。

如果數據非常大,則需要很長時間才能讀入內存中的DOM。我會看看SAX處理器。這是一個不同的過程,並且不會讓您以相同的方式在內存中導航樹,但速度更快。

如果你自己操縱XML並且你沒有處理非常大的XML文件,我喜歡Peter導入MSXML庫並直接使用它的想法。這比使用TXMLDocument更好。

+1

高品質的視頻教程版本:http://codegearguru.com/index.php?option=com_content&task=view&id=71&Itemid=27 – Alister 2009-07-29 21:39:03

3

這只是傳聞,我不知道一個最好的做法是什麼:

我使用TXMLDocument的一小會兒,但它是相當繁瑣,至少在Delphi 7的版本沒有讓我做XPath,這是爲什麼我想首先使用XML。

我導入了IXMLDomDocument2的類型庫,從那以後我一直在使用它。我真的不明白它是如何工作的,但它非常棒,所有的幫助都在MSDN中。

0

布魯斯和彼得的解決方案都可以,但他們要求客戶機安裝MSXML。

我會推薦DIXML,尤其是如果您需要驗證和/或轉換這些XML文件。