none
HttpWebRequest 的结果 填充数据到下列表中 VB.net RRS feed

  • 问题

  • 下面是我的代码, 我用的是VB.Net, 我想把HttpWebRequest 请求的结果(是XML)填充到 DropDownList控件中。填充的字段是:Merchant和Price


    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()

    HttpWebRequest 得到的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>

    有什么办法,可以实现吗?


    2016年3月27日 3:17

答案

  • 你好,

    可以使用dataset.readxml的方法来实现这个功能。象这样:

    Dim ds As New DataSet()
    ds.ReadXml(new XmlTextReader(new StringReader(returnData )))
    
    Dim dv As DataView = ds.Tables("Offer").DefaultView
    dv.Sort = "Merchant"
    
    ddlMerchant.DataTextField = "Merchant"
    ddlMerchant.DataValueField = "Price"
    ddlMerchant.DataSource = dv
    ddlMerchant.DataBind()

    Best regards,

    Cole Wu


    2016年3月27日 4:43