2

TXMLTransformProviderとTXMLDocumentのどちらを使用すべきか疑問です。

TXMLTransformProviderは保守性が高く、TXMLDocumentよりもコーディングが少なくて済むようです。

一方、TXMLDocumentはより柔軟に見えます。

必要なのは、ネストされた属性を持つXMLドキュメントを生成して解析し、それをmaster-detail clientDataSetsにマップして、1つのXMLドキュメントを書き戻すことです。

これに関するヒントはありますか?

ありがとう。

4

3 に答える 3

6

データ ファイルが外部ソースからのものである場合、最初に考えられるのはXML Binding Wizardです。短いビデオ チュートリアルもあります。

独自のデータ ソースから XML を生成する場合は、それを TClientDataSet にリンクして XML として保存できます。これは、XML を再読み込みして、他のデータセットと同じように扱うことができるので便利です。

データが非常に大きい場合、メモリ内の DOM に読み込むのに時間がかかります。私は SAX プロセッサを検討します。これは別のプロセスであり、同じ方法でメモリ内のツリーをナビゲートすることはできませんが、はるかに高速です。

自分で XML を操作しても問題なく、非常に大きな XML ファイルを扱っていないのであれば、MSXML ライブラリをインポートして直接使用するという Peter のアイデアが気に入っています。これは、TXMLDocument を使用するよりも優れたパフォーマンスを発揮します。

于 2009-07-28T18:39:20.760 に答える
3

これは単なる逸話であり、ベストプラクティスが何であるかはわかりません。

私はその TXMLDocument を少しの間使用していましたが、かなり面倒で、少なくとも Delphi 7 バージョンでは XPath を実行できませんでした。これが、そもそも XML を使用したい理由のほとんどです。

IXMLDomDocument2 のタイプ ライブラリをインポートして以来、それを使用しています。私はそれがどのように機能するのか本当に理解していませんが、それは非常に素晴らしいものであり、すべてのヘルプは MSDN にあります.

于 2009-07-28T18:05:47.490 に答える
0

Bruce と Peter のソリューションは問題ありませんが、クライアント マシンに MSXML がインストールされている必要があります。

特にこれらの XML ファイルの検証や変換が必要な場合は、DIXMLをお勧めし ます。

于 2009-07-29T05:41:46.700 に答える