我正在尝试将国家/地区Web服务添加到下拉列表中。我添加了Web引用并包含discomap和wsdl文件。
这是我的代码隐藏:
net.webservicex.www.country ws = new net.webservicex.www.country();
ddlCountry.DataSource = ws.GetCountries();
ddlCountry.DataBind();
我尝试了上面的代码,但它只在下拉列表中每行显示一个字符。我不确定如何做到这一点,这是我第一次使用Web服务。我感谢任何帮助。谢谢!
答案 0 :(得分:2)
GetCountries()返回XML。您需要解析XML以将国家/地区列表作为字符串列表。
如果您使用的是.NET 3.5或更高版本,则可以使用LINQ to XML轻松完成此操作。
using System;
using System.Linq;
using System.Xml.Linq;
namespace WebApplication1
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
var service = new net.webservicex.www.country();
var xml = service.GetCountries();
var countries = XDocument.Parse(xml).Descendants("Name").Select(arg => arg.Value).ToList();
countriesDropDownList.DataSource = countries;
countriesDropDownList.DataBind();
}
}
}