- - PR -
.NETで簡単XMLのVB2005への対応..
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-02-15 13:17
ジャンヌネットさん、お返事ありがとうございます。
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim addressBook1 As 住所録 = New 住所録 addressBook1.個人.Add個人Row("A0001", "二平二郎", "足立区1-2-3") addressBook1.個人.Add個人Row("A0002", "三陸三郎", "板橋区4-5-6") addressBook1.個人.Add個人Row("A0003", "四日市四郎", "江戸川区7-8-9") で、最初の住所録のところが未定義で赤線がついていたのが、AddressBook.vbを読み込んで赤線が消えました。が。addressBook1.個人.Add個人Row(....に未定義の赤線がついてAdd個人はSystemArrayのメンバではないとのエラーがでます。その他、WriteXmlはWindowsAppcation1.住所録のメンバではありませんというエラーがでます。AddressBook.xsdの中身を見ましたがお手本と変わりありません。もちろん、Imports System.Xmlは冒頭で宣言しています。自分なりに調べていますが今のところ手がかりがありません。addressBook.vbをみると冒頭は Partial Public Class 住所録 Private 個人Field() As 住所録個人 '''<remarks/> <System.Xml.Serialization.XmlElementAttribute("個人")> _ Public Property 個人() As 住所録個人() ..となっていますが、クラスがちゃんと作られていないのでしょうか? | ||||||||
|
投稿日時: 2006-02-16 13:53
諸農です。
試してみました。 VB/CS共にXSDからDataSetを作成してみました。
このようなエラーは出ませんでした。 作成した*.VB/*.CSのファイルをプロジェクトに追加し、コードを書かずに先にビルドを一度行うと、ファイル内で定義されているデータセットコントロールが再利用可能なコントロールとしてツールボックスに登録されます。このコントロールをフォームに貼り付けてみても良いかも知れません。
XSDユーティリティで /c を指定しましたね。 datasetを指定してください。 _________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ | ||||||||
|
投稿日時: 2006-02-16 16:53
諸農さん、お返事ありがとうございます。
addressbook.vbをつくった後にビルドしてツールバーからデータセットをフォームに持っていこうとしましたが、型指定されたデータセットに何の名前もでないので失敗したみたいです。でも、2005でもOKとわかりましたのでやり方を見直して試してみます。ありがとうございました。 | ||||||||
|
投稿日時: 2006-02-16 20:13
諸農さんのおっしゃった
”XSDユーティリティで /c を指定しましたね。datasetを指定してください。”の意味がxsd.exeの解説を読んでて今、ようやく理解できました。そしたらちゃんと動きました。じゃんぬねっとさん、 諸農さん、本当にご指導ありがとうございました。 なお、XMLスキーマのテンプレートはEXPRESSにはないのですが、いったん、〜.vbをつくって追加するとEXPRESSでも動きました。 |