簡體   English   中英

從HttpWebRequest XML VB.net填充DropDownList

[英]Populate DropDownList from HttpWebRequest XML VB.net

我是VB.net的新手,我很難弄清楚如何將XML數據從HttpWebRequest加載到DropDownList中。 我要加載到DropDownList中的數據是商家+價格。 下面是我的代碼:

Dim s As HttpWebRequest
s = HttpWebRequest.Create("myURL")
s.Method = "GET"
Dim postresponse As HttpWebResponse
postresponse = DirectCast(s.GetResponse, HttpWebResponse)

Dim postreqreader As New Stream(postresponse.GetResponseStream())

Dim returnData As String = postreqreader.ReadToEnd

postresponse.Close()

我從returnData返回的XML響應是:

<xml version="1.0" encoding="UTF-8" ?>
<Response>
    <ID>123</ID>
    <Items>
        <Item>
            <Isbn>123456789</Isbn>
            <Offers>
                  <Offer>
                      <Isbn>123456789</Isbn>
                      <Merchant>Vendor1</Merchant>
                      <Price>3.00</Price>
                      <Shipping>8.00<Shipping>
                  </Offer>
                  <Offer>
                      <Isbn>123456789</Isbn>
                      <Merchant>Verndor2</Merchant>
                      <Price>3.00</Price>
                      <Shipping>8.00<Shipping>
                  </Offer>
             </Offers>
        </Item>
    </Items>
</Response>

首先使用此代碼將xml轉換為數據集

    DataSet ds;
    StringReader reader = new StringReader(string);
    ds.ReadXml(reader);

然后將其綁定到DropDownList

首先,請確保您關閉了運輸標簽。

嘗試這樣的事情:

Dim ds As New DataSet()
ds.ReadXml(new XmlTextReader(new StringReader(returnData )))

ds.Tables("Offer").Columns.Add("MerchantPrice", GetType(String), "Merchant + ' - ' + Price")

Dim dv As DataView = ds.Tables("Offer").DefaultView
dv.Sort = "Merchant"

ddlMerchant.DataTextField = "MerchantPrice"
ddlMerchant.DataValueField = "Isbn"
ddlMerchant.DataSource = dv
ddlMerchant.DataBind()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM