2009-07-28 1 views
2

TXMLTransformProviderまたはTXMLDocumentを使用する必要があるかどうかは疑問です。XML文書の作成と解析のベストプラクティス

TXMLTransformProviderはメンテナンス可能に見えますが、TXMLDocumentよりもコーディングが少なくて済みます。

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

私が必要とするのは、ネストされた属性を持つXMLドキュメントを生成して解析し、それをmaster-detail clientDataSetsにマップし、1つの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

+0

こんにちはアリスター。はい、私は直接リンクを含めるべきでした。 –

3

これは私がベストプラクティスがどうなるかは考えていない、単なる逸話である:

私は少しの間にTXMLDocumentことを使用していたが、それはかなり面倒だし、少なくともDelphi 7のバージョンが私を聞かせていなかったがXPathを実行します。これは、なぜ私が最初にXMLを使用したいのかということです。

IXMLDomDocument2用のタイプライブラリをインポートして以来、私はそれを使用してきました。私は実際にどのように動作するのか分かりませんが、それはとても素晴らしいことです。すべてのヘルプはMSDNにあります。

0

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

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

関連する問題