- - PR -
C#2003 XMLスキーマの利用方法
1
投稿者 | 投稿内容 | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-02-07 13:55
XMLスキーマを利用してXMLの操作をしようとしています
かなり漠然としているのですが、御教授お願いします string型変数にセットされているXMLをXMLスキーマの定義を利用して フォームのコントロールにXMLの要素内容をセットしたいと思っています stringReaderやDataSetを使用しようと思うのですが。。 よく分かりません・・ 何かサンプルのようなページがあれば教えていただきたいのですが、、、 宜しくお願い致します | ||||||||||||||||||||
|
投稿日時: 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 ご参照ください ご希望のサンプルでしょうか? | ||||||||||||||||||||
|
投稿日時: 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の要素内容をセット」って部分がよくわからんかったです。自動的にフォームのコントロールに値をセットってこと?データバインド? | ||||||||||||||||||||
|
投稿日時: 2007-02-07 23:25
ご教授ありがとうございます
少し質問が陳腐すぎたので詳細を書かせていただきます、 ・string型変数にXMLがセットされている ・XMLは <TextBoxのNameプロパティ>Textプロパティ</TextBoxのNameプロパティ> のような感じで、 要素名:コントロールのNameプロパティ 要素内容:Textプロパティ のような形式です ・XMLの定義は、XMLスキーマを使用して作成している 行いたいことは ・XMLの要素名に一致するコントロールに、要素内容をセットしたい ・コントロールからXMLを作成したい ・XMLスキーマを使用したい です コーディングのアドバイスをもらった方からは StringReaderでXMLを読み込み、DataSet等を使うと簡単に出来るといわれたのですが、 よく分からなくて・・・ | ||||||||||||||||||||
|
投稿日時: 2007-02-08 11:40
ああ、StringReaderでもいけますなぁ。StringReaderのコンストラクタの引数に文字列を設定できますもんね。Dataset.ReadXmlにそのStringReaderを渡せばいいんじゃないですか。
スキーマにはフォームの各コントロール名が要素名として定義されてるわけですね。
やっとなんとなく分かってきたかもしれません。「XMLスキーマを使用したい」ってのは型指定されたデータセットを使いたいってことかなぁ。 方法 : 型指定されたデータセットを作成する
型指定されたデータセットなら、データバインドを使ってほぼノンコーディングでできるでしょうね。プロパティウインドウに「(DataBindings)」ってでてるから、そこでTextプロパティにデータセットのフィールドをバインドするだけ。
コントロールからDatasetへ値を反映させるコーディングは必要そうですが。サンプルコードが落ちてそうなネタではありますねぇ。
そいつに聞くのが一番の近道だと思いますが・・・。聞きにくいの? |
1