- PR -

C#2003 XMLスキーマの利用方法

1
投稿者投稿内容
匿名希望
常連さん
会議室デビュー日: 2006/12/12
投稿数: 23
投稿日時: 2007-02-07 13:55
XMLスキーマを利用してXMLの操作をしようとしています
かなり漠然としているのですが、御教授お願いします
string型変数にセットされているXMLをXMLスキーマの定義を利用して
フォームのコントロールにXMLの要素内容をセットしたいと思っています
stringReaderやDataSetを使用しようと思うのですが。。
よく分かりません・・
何かサンプルのようなページがあれば教えていただきたいのですが、、、
宜しくお願い致します
terren
会議室デビュー日: 2007/02/07
投稿数: 1
投稿日時: 2007-02-07 17:00
MSDNの
ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.en/WD_XML/html/42141aed-a8c0-4014-92b5-eb37eb7d302c.htm
ご参照ください

ご希望のサンプルでしょうか?
かめたろ
ぬし
会議室デビュー日: 2003/03/20
投稿数: 255
投稿日時: 2007-02-07 17:13
あまり汲み取れなかったので、外してるかも。

Dataset.ReadXmlメソッドはXML文字列を受け付けるオーバーロードがないけど、どうすりゃいいのってことでしょうか。

Dataset.ReadXmlにはStreamを受け付けるヤツがあるから、MemoryStreamかなんかを作ってStreamWriter.Writeメソッドで書いてあげたらどうだろうか。

他にも、XmlDataDocumentのコンストラクタでDatasetを指定しといて、XmlDataDocument.LoadXmlメソッドでXML文字列を入れてあげればDatasetに反映されるだろうし。

XML文字列のXMLが構造化されてないのなら、XmlDocument.LoadXmlでしょうね。

フォームのコントロールにセットするんじゃなくて、HTMLで表示できればいいってだけなら XMLコントロール を使ってXSLで整形って手もありますね。

「XMLスキーマの定義を利用してフォームのコントロールにXMLの要素内容をセット」って部分がよくわからんかったです。自動的にフォームのコントロールに値をセットってこと?データバインド?
匿名希望
常連さん
会議室デビュー日: 2006/12/12
投稿数: 23
投稿日時: 2007-02-07 23:25
ご教授ありがとうございます
少し質問が陳腐すぎたので詳細を書かせていただきます、
・string型変数にXMLがセットされている
・XMLは <TextBoxのNameプロパティ>Textプロパティ</TextBoxのNameプロパティ>
 のような感じで、
 要素名:コントロールのNameプロパティ
 要素内容:Textプロパティ
 のような形式です
・XMLの定義は、XMLスキーマを使用して作成している

行いたいことは
・XMLの要素名に一致するコントロールに、要素内容をセットしたい
・コントロールからXMLを作成したい
・XMLスキーマを使用したい
です

コーディングのアドバイスをもらった方からは
StringReaderでXMLを読み込み、DataSet等を使うと簡単に出来るといわれたのですが、
よく分からなくて・・・
かめたろ
ぬし
会議室デビュー日: 2003/03/20
投稿数: 255
投稿日時: 2007-02-08 11:40
ああ、StringReaderでもいけますなぁ。StringReaderのコンストラクタの引数に文字列を設定できますもんね。Dataset.ReadXmlにそのStringReaderを渡せばいいんじゃないですか。

引用:

匿名希望さんの書き込み (2007-02-07 23:25) より:
少し質問が陳腐すぎたので詳細を書かせていただきます、
・string型変数にXMLがセットされている
・XMLは <TextBoxのNameプロパティ>Textプロパティ</TextBoxのNameプロパティ>
 のような感じで、
 要素名:コントロールのNameプロパティ
 要素内容:Textプロパティ
 のような形式です
・XMLの定義は、XMLスキーマを使用して作成している


スキーマにはフォームの各コントロール名が要素名として定義されてるわけですね。

引用:

・XMLスキーマを使用したい


やっとなんとなく分かってきたかもしれません。「XMLスキーマを使用したい」ってのは型指定されたデータセットを使いたいってことかなぁ。
方法 : 型指定されたデータセットを作成する

引用:

・XMLの要素名に一致するコントロールに、要素内容をセットしたい


型指定されたデータセットなら、データバインドを使ってほぼノンコーディングでできるでしょうね。プロパティウインドウに「(DataBindings)」ってでてるから、そこでTextプロパティにデータセットのフィールドをバインドするだけ。

引用:

・コントロールからXMLを作成したい


コントロールからDatasetへ値を反映させるコーディングは必要そうですが。サンプルコードが落ちてそうなネタではありますねぇ。

引用:

コーディングのアドバイスをもらった方からは
StringReaderでXMLを読み込み、DataSet等を使うと簡単に出来るといわれたのですが、
よく分からなくて・・・


そいつに聞くのが一番の近道だと思いますが・・・。聞きにくいの?
1

スキルアップ/キャリアアップ(JOB@IT)