REST WebサービスからのXML出力を解析しようとしています.Lineq2Xmlを使用して、後にある属性をXMLに照会するように指示されています。次のようにXML出力は次のとおりです。Linq2Xml REST Webサービスからのパース出力
id name guid
0 westralia {81C56183-31DA-45C2-90C3-81609F01B38B}
10001 lounge {eac0109e-0090-a992-7fba-dc67fe29e6e7}
私がされている:私はzoneidを、ZoneNameを、そしてZoneGUID DataTableの返却を希望しています
<?xml version="1.0" encoding="UTF-8"standalone="yes" ?>
<Response Status="OK">
<Item Name="NumberZones">2</Item>
<Item Name="CurrentZoneID">10001</Item>
<Item Name="CurrentZoneIndex">1</Item>
<Item Name="ZoneName0">Westralia</Item>
<Item Name="ZoneID0">0</Item>
<Item Name="ZoneGUID0">{81C56183-31DA-45C2-90C3-81609F01B38B}</Item>
<Item Name="ZoneName1">Lounge</Item>
<Item Name="ZoneID1">10001</Item>
<Item Name="ZoneGUID1">{eac0109e-0090-a992-7fba-dc67fe29e6e7}</Item>
</Response>
、私のようなものを返すために機能を望んでいます次の関数を使ってXMLにクエリを実行し、結果を返そうとしています(データを操作しようとしていても、私が望む形式にすることはできません)。
Private Function getServerResponse_Linq(ByVal queryString As Uri) As DataTable
Dim dt As DataTable = New DataTable("data")
With dt
.Columns.Add("name")
.Columns.Add("Value")
End With
Dim loaded As XDocument = XDocument.Load(queryString.ToString)
Dim dr As DataRow
Dim query = From c In loaded.<Response> Select c
For Each result In query
dr = dt.NewRow
With dr
.Item("name") = [email protected]
.Item("value") = result.Value
End With
Next
Return dt
End Function
返されるデータテーブルが空である、私は、結果はXMLが割り当てられていないことを確認した、とresult.valueは(200Westralia0 {81C56183-31DA-45C2-90C3-81609F01B38B} Lounge10001 XMLファイルの文字列バージョンであります(ZoneName%)と属性値(Westralia and Lounge)の上のREST XMLの例からどのように読むことができますか?
素晴らしい!それは常に簡単なことです(あなたがそれを知っていれば)。私が最後の3時間を取り戻すことができれば、これらの変更は完全に機能しました。 – Lima