C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

xmlDataDocumentとDataSetの同期について


(過去ログ 4 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■3675 / inTopicNo.1)  xmlDataDocumentとDataSetの同期について
  
□投稿者/ bou 二等兵(1回)-(2006/05/18(Thu) 14:13:20)

分類:[VB.NET] 


分類:[VB.NET] 

はじめまして。

フォームの入力項目からDataSetを作成する際、構造が入れ子になっている為、
xmlDataDocumentを使用し、
Dim ds as DataSet = new DataSet("COMMON")
Dim xmlDoc as xmlDataDocument = new xmlDataDocument(ds)
として、XMLファイルを作成する事に関してはうまくいきました。
XMLファイルは、おおざっぱですが、以下のような感じです。
-------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<COMMON>
 <CD>000000001</CD>
 <NAME>○○○○</NAME>
 <FAMILY no="01">
  <Name>太郎</Name>
  <Kana>タロウ</Kana>
  <Sex>男</Sex>
  <BirthDay>20060518</BirthDay>
 </FAMILY>
 <FAMILY no="02">
  <Name>花子</Name>
  <Kana>ハナコ</Kana>
  <Sex>女</Sex>
  <BirthDay>20050518</BirthDay>
 </FAMILY>
</COMMON>
-------------------------------------------------

また、そのXMLファイルからReadXMLを使用して、DataSetに格納することもうまくいきました。

しかし、本当の目的は、
DataSetをXMLファイルに出力する事ではなく、
.NETリモーティングを使用し、DataSet型のデータとしてそのままパラメータとして渡すことにあります。

DataSet型の変数dsと、xmlDataDocument型の変数xmlDocは同期が取れていると思ったのですが、dsに対して、
Dim dt as DataTable = new ds.Tables("COMMON")
とやっても、dtはNothingとなってしまい、
DataSetが取得できずにいます。

どのようにすれば、DataSet型の変数として上記の内容を取得することが出来るのでしょうか。
xmlDoc.DataSetを使用して取得することとか出来ませんでしょうか?
xmlDoc.DataSet.DataSetNameだと、"COMMON"は取得できたのですが・・・

どうかご教授いただけませんでしょうか。
よろしくお願いいたします。

0
引用返信 編集キー/
■3677 / inTopicNo.2)  Re[1]: xmlDataDocumentとDataSetの同期について
□投稿者/ 中博俊 神(430回)-(2006/05/18(Thu) 15:07:27)
中博俊 さんの Web サイト

分類:[VB.NET] 

シリアライズできるものだけがやり取りできると思いますので、シリアライズできることが条件でしょう。
Datasetはもちろんシリアライズできますが、完全に元に戻るかどうかは別問題ですね。
XMLにしなくても普通にやり取りできませんか?

0
引用返信 編集キー/
■3681 / inTopicNo.3)  Re[2]: xmlDataDocumentとDataSetの同期について
□投稿者/ bou 二等兵(2回)-(2006/05/18(Thu) 16:38:00)

分類:[VB.NET] 

中博俊@神さま
早速のご返信、ありがとうございました。

WEB上で、いろいろなサンプルを見ながら作成しているのですが、
理想としている構造、今回で言うと入れ子(ネスト?)状になっているDataSetを作成する方法として、
これしか見当たりませんでした・・・
(もしくはサンプルの応用が出来ていないだけかも知れませんが・・・)

で、XMLに関しては、今回は「XMLでやり取りする!」
と決まっている為、いろいろ苦戦しているしだいです(汗)


シリアライズ化という話をあげていただきまして、ありがとうございます。
1つ気になったのですが、
「シリアライズ化する=1度XMLファイルとして出力する」
ということでしょうか?
ということは、
xmlDoc.save(ファイル名)
では無く、
xmlSerializer.Serialize(〜,ds)
→で、その後にDataSet型の変数にReadxmlしてそれを送る
ということでしょうか?

すみません。さらに質問してしまいまして・・・
どうかよろしくお願いいたします。

0
引用返信 編集キー/
■3684 / inTopicNo.4)  Re[3]: xmlDataDocumentとDataSetの同期について
□投稿者/ 中博俊 神(431回)-(2006/05/18(Thu) 19:47:56)
中博俊 さんの Web サイト

分類:[VB.NET] 

>「シリアライズ化する=1度XMLファイルとして出力する」
違います。

それより、.NETリモーティングなら透過的に処理できないのでしょうか?
MarshalByRefObjectを継承したクラスならそのまま呼べますし、引数、戻り値にDataSetも設定できますよね?

0
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -