UPDATE:閱讀的XmlNodeList到使用DataSet VB.NET
我要動態地轉儲返回到數據集的XML,而無需編寫出來的列名。返回的數據格式非常簡單,列名,數據,然後關閉列名稱。像這樣:
<runsql>
<cst_id>0005675667</cst_id>
<ind_last_name>Abe</ind_last_name>
<ind_first_name>Adam</ind_first_name>
<cst_ixo_title_dn/>
<cst_org_name_dn>Acme University</cst_org_name_dn>
<cst_eml_address_dn>[email protected]</cst_eml_address_dn>
</runsql>
我一直在使用標準格式來訪問我們的Web服務並返回特定的字段。我需要修改它以將整個XML饋送轉儲到VB.NET中的內部數據集中。此Web服務是在我的Web參考部分中預定義的。我在下面的代碼中取得了成功,但經過多次Google搜索和測試之後,無法找到一種方法將所有列動態加載到數據集中。我可以使用以下格式獲取幫助以加載到數據集中嗎?
Dim proxy As New myWS.netFORUMXMLWebServices
Dim strInSQL As String
Dim strOutXML2 As XmlDocument
strOutXML2 = New XmlDocument
Dim oNode2 As XmlNode
Dim oResultsNode2 As XmlNode
strInSQL = "SELECT cst_eml_address_dn FROM WebServicesTable"
strOutXML2.LoadXml("<myResults></myResults>")
oResultsNode2 = proxy.runsql(strInSQL)
Dim xmlNewDoc As XmlDocument
xmlNewDoc = New XmlDocument
xmlNewDoc.LoadXml(oResultsNode2.OuterXml)
strOutXML2.DocumentElement.AppendChild(strOutXML2.ImportNode(xmlNewDoc.DocumentElement, True))
Dim oResultsNodeList2 As XmlNodeList
oResultsNodeList2 = xmlNewDoc.SelectNodes("//runsql")
For Each oNode2 In oResultsNodeList2
returnedEmail = oNode2.SelectSingleNode("cst_eml_address_dn").InnerText
Next
如果您想知道「runsql」是我們供應商給我們的Web服務末尾的參數。 (webservices.asmx?op = runsql)
我們可以看到你搞亂結構......好像你拿刀砍,並且在重新從'proxy.runsql'回報這可以直接導入DS。 – Plutonix
@Plutonix,當然。我編輯了帖子。直接導入DS完全是我想要的。上面的代碼顯示了我一直在使用的工具來檢索值。我不知道如何編輯我的工作代碼,直接將其轉儲到DS中,而無需指定列名稱等。 – trevoray
@Plutonix對不起,第一次做賞金事情。我想通過將你的回答標記爲回答,你會自動獲得賞金。 – trevoray