2009-06-04 8 views
1

ここは私のシナリオです。 XMLはSQL DBに格納されます。私は、ユーザーがそのXMLの異なる部分を編集できるようにする必要があります(挿入、更新のみ)。何か変更があった場合(最終日のファイルやノードが保存されたように)通知を受け、更新されたXMLをDBに保存します。(データバインディングを通じて)ASP.NETフォームのXMLを編集

このシナリオで最も速いアプローチは、&です。私はXmlDataSourceでデータバインディング式を使用したいと考えていました。しかし、それは読み取り専用のバインディングしかサポートしていません(そうです)。

ASP.NETには、データバインディング(各コントロールのxpathを指定して)を可能にする他の代替ソリューションが組み込まれていますか?または私自身のソリューションを展開する必要がありますか?

私自身のソリューションを公開する場合は、どうすればよいでしょうか?

答えて

1

あなたが簡単に.Netフレームワークがあなたのために重労働を起こすことができるので、独自のソリューションをロールバックする必要はありません。データバインディングが後であれば、XSDツールを使用して、XMLスキーマからCLRクラスを生成することができます(存在する場合)。

次のようになり、クラスの生成:

XSD/C /言語:CS XSDSchemaFile.xsd

あなたは、そのオブジェクトを作成したら、それをUI上でいつものように結合くださいオブジェクト。これらの変更をDBに適用する準備が整ったら、XMLをシリアル化して結果をDBにプッシュバックすることができます。

var serializer = new XmlSerializer(typeof (MyCustomType)); 

var stream = new MemoryStream(); 
var xw = new XmlTextWriter(stream, encoding); 

serializer.Serialize(xw, instanceOfCustomType); 

String xml = encoding.GetString(stream.ToArray()); 
関連する問題