這 - http://msi-ecs.com.ph:8090/uom/UOMws.svc/xml/codes
是不是一個XML文件。您在瀏覽器中看到的是您正在使用的地址處的RESTful服務的響應。該服務正在返回XML中的數據。
您可以通過使用HttpClient
來調用服務,然後得到響應的內容,像這樣的(很簡單的例子,給你的總體思路)很方便地檢索這樣的:
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage response = client.GetAsync("http://msi-ecs.com.ph:8090/uom/UOMws.svc/xml/codes").Result;
string xml = response.Content.ReadAsStringAsync().Result;
此代碼返回以下作爲一個字符串(其然後可以加載到一個XDocument用於解析):
<ArrayOfCodes xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<Codes>
<active>1</active>
<id>14</id>
<quantity>50</quantity>
<unit>pc</unit>
<unitid>1</unitid>
<uom>Piece</uom>
<value>CPQ247050-001~000</value>
</Codes>
<Codes>
<active>0</active>
<id>16</id>
<quantity>30</quantity>
<unit>bx</unit>
<unitid>2</unitid>
<uom>Box</uom>
<value>CPQ293703-B21~000</value>
</Codes>
<Codes>
<active>1</active>
<id>17</id>
<quantity>1</quantity>
<unit>bx</unit>
<unitid>2</unitid>
<uom>Box</uom>
<value>aaa</value>
</Codes>
<Codes>
<active>1</active>
<id>15</id>
<quantity>100</quantity>
<unit>pk</unit>
<unitid>3</unitid>
<uom>Pack</uom>
<value>CPQ247050-001~0M0</value>
</Codes>
<Codes>
<active>1</active>
<id>18</id>
<quantity>2</quantity>
<unit>hf</unit>
<unitid>5</unitid>
<uom>Handfull</uom>
<value>aaa</value>
</Codes>
</ArrayOfCodes>
EDIT
對於Windows Mobile,請嘗試以下代碼(請注意,我用.NET 4.5跑這對VS 2012,因爲我沒有移動SDK我的機器上,但它的工作):
string xml = "";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://msi-ecs.com.ph:8090/uom/UOMws.svc/xml/codes");
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
using (Stream responseStream = response.GetResponseStream())
{
using (StreamReader reader = new StreamReader(responseStream, System.Text.Encoding.UTF8))
{
xml = reader.ReadToEnd();
}
}
}
以上代碼基於此answer。
**編輯:** VB.NET
Dim xml As String = ""
Dim request As HttpWebRequest = WebRequest.Create("http://msi-ecs.com.ph:8090/uom/UOMws.svc/xml/codes")
Using response As HttpWebResponse = request.GetResponse()
Using (responseStream As Stream = response.GetResponseStream()
Using reader As StreamReader = New StreamReader(responseStream, System.Text.Encoding.UTF8))
xml = reader.ReadToEnd();
End Using
End Using
End Using
來源
2014-01-13 03:52:18
Tim
我不認爲這是適用於Windows Mobile。 –
糟糕 - 錯過了該標籤。另一個例子是在幾分鐘內出現。 – Tim
聽起來很有希望,但我不能檢查它,因爲我有'使用(暗淡b = c)'與所有這些3代碼使用的問題。哈哈。 –