- - PR -
xmlからのデータ取得が分かりません
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-08-13 09:23
こんにちは。
現在、xmlからデータを取得しようと思っているのですが 実行時エラーがでます。 どうかご教授お願いします。 【実行環境】 Windows 2000 Microsoft Visual Basic.net 2003 ************* ここからプログラム ************************** Public Class clsDBConnect Private m_id As String Private m_table As String Private m_koumoku As String Private m_sansyou As String Public Sub main(ByVal id As Integer) 'xmlの内容を読み込む Dim Serializer As _ New System.Xml.Serialization.XmlSerializer( _ GetType(clsDB())) Dim fs As New System.IO.FileStream( _ "C:\DBConnect.xml", System.IO.FileMode.Open) Try '↓ここでエラーになります Dim loadClasses() As clsDB = Serializer.Deserialize(fs) Dim loadClass As clsDB 'xmlのファイルを該当データが見つかるまで検索する For Each loadClass In loadClasses 'ここでxmlの内容を参照する If id.ToString = loadClass.m_Id Then Me.m_id = loadClass.m_Id Me.m_koumoku = loadClass.m_Koumoku Me.m_sansyou = loadClass.m_Sansyou Me.m_table = loadClass.m_Table Exit For End If Next Catch ex As Exception 'エラー処理 Finally fs.Close() End Try End Sub End Class Public Class clsDB Public m_Id As String Public m_Table As String Public m_Koumoku As String Public m_Sansyou As String End Class ********** DBConnect.xml ************************************ <?xml version="1.0"?> <ArrayOfclsDB xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <clsDB> <m_Id>0</m_Id> <m_Table>品番原価マスタ_仕入先別</m_Table> <m_Koumoku>SNo,LNo</m_Koumoku> <m_Sansyou>ShiireCD,Jyuni,ShitenCD</m_Sansyou> </clsDB> <clsDB> <m_Id>1</m_Id> <m_Table>品番原価マスタ_仕入先サイズ別</m_Table> <m_Koumoku>SNo,LNo,ColorCD,SizeCD</m_Koumoku> <m_Sansyou>ShiireCD,ShitenCD</m_Sansyou> </clsDB> |
|
投稿日時: 2004-08-13 10:18
諸農です。
どのようなエラーが出ているのか判らないので何とも言えませんが、 ストリームから直接デシリアライズするのではなくて、 XmlTextReaderを間にかませてみていかがでしょうか。 _________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ |
|
投稿日時: 2004-08-13 11:01
>XmlTextReaderを間にかませてみていかがでしょうか。
返信ありがとうございます。 XmlTextReaderですか 自分は、使ったことがないので調べて使ってみようと 思います。 また、エラー内容を書き忘れていましたので エラー内容は、「プロシージャの呼び出し又は引数が不正です」 というエラーが出ていました。 |
|
投稿日時: 2004-08-13 12:25
諸農です。
元投稿の内容を見落としていました。 元の投稿で提示されているクラスなんですが、 フィールドがprivate属性ですね。 XMLシリアルライズは、オブジェクトのパブリックプロパティと パブリックフィールドを対象にシリアル化逆シリアル化するので エラーになっているのかも。 _________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ |
|
投稿日時: 2004-08-13 13:34
すいません。
原因がわかりました。 テーブル名が日本語になっているために 取得が正常に出来なかったみたいです。 一回xmlを作成するプログラムを作った後に そのxmlを読み込ませるという風にしたら xmlを正常に読み込ませることが出来ました |
1