- - PR -
XMLをDataSetにしたい
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2003-09-02 11:41
XMLファイルに落としたDataSetを、再度DataSetに復元したいと思っています。
Microsoftのサイトを見て挑戦しているのですが、コンパイルが通りません。 タスクの例 : XML を DataSet に読み込む http://ja.gotdotnet.com/quickstart/howto/doc/Xml/LoadDataSetXMLData.aspx どこで引っかかっているかというと、型または名前空間名 'LoadDataSetXMLDataSample' が 見つかりませんでした、となっています。LoadDataSetXMLDataSampleクラスというのはどこに あるのでしょうか?ヘルプを見ている限りでは、「System.IO」「System.Xml」「System.Data」 のいずれかにあるように見えるのですが、ありません。 環境はVS.NET2003で、言語はC#で、ASP.NETのシステムを構築しています。 | ||||
|
投稿日時: 2003-09-02 12:01
そのページの"ソースの表示"を見てみました? "public class LoadDataSetXMLDataSample"と定義しています。 見ているサンプルがLoadDataSetXMLDataSampleです。 サンプル通り、StreamReader→ReadXmlSchemaでDataSetに読み込めます。 | ||||
|
投稿日時: 2003-09-02 12:38
DataSetからWriteXmlメソッドを利用してXMLファイルを生成した場合であれば、
DataSetのReadXmlメソッドを使えばそれで復元できるはず。。。 #DataSetからXMLファイルを作成する時点で独自の形式に変更してるんかな? | ||||
|
投稿日時: 2003-09-02 12:46
> ぴで様
> そのページの"ソースの表示"を見てみました? > "public class LoadDataSetXMLDataSample"と定義しています。 > 見ているサンプルがLoadDataSetXMLDataSampleです。 すごい恥ずかしいです。全くその通りですね。 ヘルプで「LoadDataSetXMLData サンプル」というのがヒットしたので、 思い込んでしまいました。ありがとうございます。 > 小野@EAC > DataSetからWriteXmlメソッドを利用してXMLファイルを生成した場合であれば、 > DataSetのReadXmlメソッドを使えばそれで復元できるはず。。。 いつもお世話になっております。単にWriteXmlしているだけですので、 やってみます。 | ||||
|
投稿日時: 2003-09-02 15:00
エラーが発生します。データを全削除した場合は動作しますが、データが少しでも
入っている場合は以下のデータが発生します。 制約を有効にできませんでした。1 つ以上の行に、Null か、一意でないか、 または外部キー制約違反の値が含まれています。 制約はプライマリキー制約のみ使用していますが特にデータでは重複しているようには 見えないのですが。
| ||||
|
投稿日時: 2003-09-02 15:20
すみません、掲示板用に書き換えたら妙なコードになってしまいました。
実際は型宣言をしたDataSetを使っていて、その型宣言DataSetをXMLに落としていて、 それをもう一度同じ型のDataSetに戻したいと思っています。 書きたかったのは以下の形ですね。
で、この形だと正常に動作します。 本当はただのDataSetではなく、型宣言したDataSetを代わりにしているのですが、 このままだとエラーがでてしまうわけです。 一度ただのDataSetに落としたものを、型宣言DataSetに入れる方向を模索します。 ありがとうございました。 | ||||
|
投稿日時: 2003-09-02 16:03
ご自分でコードを書かれたのでしょうか?
新規作成に「データセット」があります。これでxsdファイルを新規作成し、テーブルをサーバエクスプローラからD&Dするとか。 おそらく、VB.NETでいうところの Protected Sub New(ByVal info As SerializationInfo, ByVal context As StreamingContext) コンストラクタを追加すればOKかと。。。 [ メッセージ編集済み 編集者: Jitta 編集日時 2003-09-02 16:04 ] | ||||
|
投稿日時: 2003-09-02 20:57
> ご自分でコードを書かれたのでしょうか?
型宣言されたDataSetのコードは自動生成にまかせてあります。 > 新規作成に「データセット」があります。これでxsdファイルを新規作成し、 > テーブルをサーバエクスプローラからD&Dするとか。 この形でデータセットを作りました。 データベース←→型宣言DataSet←→XMLファイル というやりとりを行いたいのですが、型宣言DataSet←XMLファイルという所が 不調状態であるわけです。 > おそらく、VB.NETでいうところの > Protected Sub New(ByVal info As SerializationInfo, ByVal context As StreamingContext) > コンストラクタを追加すればOKかと。。。 ちょっとこれはおっしゃる事が理解できないのですが、xsdファイルを作成した時点で 以下の部分が自動生成されます。この事を仰っているのではないでしょうか?
#Jittaさんの知識とパワーにはいつも頭が下がります。 |