前提・実現したいこと
Visual Basic初心者です。
Visual Basicで、MySQLから取ってきた情報をDataSetに
格納し、XMLデータとして変数に出力し、XMLデータを返したいと考えています。
現状では、ローカルフォルダに.xmlファイルを生成し、それを読み込み、XMLデータを
返すようになっていますが、この一連の流れをxmlファイルを生成せず、プログラム上
でのみ実現したいです。
現状: MySQLからデータを取る→DataSetに格納→格納されたデータをXMLとして書き込む→
書き込んだxmlファイルを読み込む→値を返す
理想: MySQLからデータを取る→DataSetに格納→格納されたデータを変数Aに書き込む→
書き込んだ変数Aを読み込む→値を返す
発生している問題・エラーメッセージ
ソースコードにある通り、出来そうなことは試してみましたが、どうしてもうまくいきません。
該当のソースコード
VB
1Public Function Func1(ByVal sql As String) As XmlDocument 2 Dim constr As String = "userid=root;password=mysql;host=localhost" 3 Dim conn As MySqlConnection = New MySqlConnection(constr) 4 Dim da As MySqlDataAdapter 5 Dim ds As DataSet 6 Dim filePath As String 7 Dim result As XmlDocument 8 Try 9 conn.Open() 10 filePath = String.Format("C:\Users\admin\Documents\data.xml") 11 da = New MySqlDataAdapter(sql, conn) 12 ds = New DataSet("user") 13 da.FillSchema(ds, SchemaType.Source, "user") 14 da.Fill(ds) 15 ds.WriteXml(filePath) 16 conn.Close() 17 Dim xdoc As New XmlDocument() 18 xdoc.Load(filePath) 19 result = xdoc 20 Catch ex As Exception 21 End Try 22 Return result 23 End Function
試したこと
VisualBasic
1Public Function Func1(ByVal sql As String) As XmlDocument 2 Dim constr As String = "userid=root;password=mysql;host=localhost" 3 Dim conn As MySqlConnection = New MySqlConnection(constr) 4 Dim da As MySqlDataAdapter 5 Dim ds As DataSet 6 'Dim filePath As String 7 Dim xmlStr As String = "" 8 Dim result As XmlDocument 9 Try 10 conn.Open() 11 'filePath = String.Format("C:\Users\admin\Documents\data.xml") 12 da = New MySqlDataAdapter(sql, conn) 13 ds = New DataSet("user") 14 da.FillSchema(ds, SchemaType.Source, "user") 15 da.Fill(ds) 16 'ds.WriteXml(filePath) 17 ds.WriteXml(xmlStr) 18 conn.Close() 19 Dim xdoc As New XmlDocument() 20 'xdoc.Load(filePath) 21 xdoc.Load(xmlStr) 'xdoc.LoadXml(xmlStr)も試しました 22 result = xdoc 23 Catch ex As Exception 24 End Try 25 Return result 26 End Function
補足情報(FW/ツールのバージョンなど)
Visual Studio 2015
ASP.NET Webサービス
.NET バージョン: 4.5.2
WebForms
回答1件
あなたの回答
tips
プレビュー