使用http xml响应绑定下拉列表

时间:2014-01-29 14:51:13

标签: asp.net xml vb.net

我只是XML和ASP.NET的初学者。我的要求是使用从第三方服务geonames.org收到的xml响应来绑定下拉列表。作为一个例子,我想将我的下拉列表与该xml响应中的国家/地区名称绑定。那我怎么能让它变得可能。

这是geonames.org的一个例子

http://api.geonames.org/countryInfo?username= [名为myUsername]

以及响应XML

之下
<geonames>
<country>
<countryCode>AD</countryCode>
<countryName>Andorra</countryName>
<isoNumeric>020</isoNumeric>
<isoAlpha3>AND</isoAlpha3>
<fipsCode>AN</fipsCode>
<continent>EU</continent>
<continentName>Europe</continentName>
<capital>Andorra la Vella</capital>
<areaInSqKm>468.0</areaInSqKm>
<population>84000</population>
<currencyCode>EUR</currencyCode>
<languages>ca</languages>
<geonameId>3041565</geonameId>
<west>1.4071867141112762</west>
<north>42.65604389629997</north>
<east>1.7865427778319827</east>
<south>42.42849259876837</south>
</country>
<country>
<countryCode>AE</countryCode>
<countryName>United Arab Emirates</countryName>
<isoNumeric>784</isoNumeric>
<isoAlpha3>ARE</isoAlpha3>
<fipsCode>AE</fipsCode>
<continent>AS</continent>
<continentName>Asia</continentName>
<capital>Abu Dhabi</capital>
<areaInSqKm>82880.0</areaInSqKm>
<population>4975593</population>
<currencyCode>AED</currencyCode>
<languages>ar-AE,fa,en,hi,ur</languages>
<geonameId>290557</geonameId>
<west>51.58332824707031</west>
<north>26.08415985107422</north>
<east>56.38166046142578</east>
<south>22.633329391479492</south>
</country>
---------------
---------------
etc.....

因此,从上面的URL中,将返回此结构中的XML ..那么如何使用它来绑定我的下拉列表。

1 个答案:

答案 0 :(得分:0)

ASP.NET提供了XmlDataSource控件,用于访问以XML标记的数据。

然后你可以像这样绑定:

ddlStatus.DataSource = iObjDropDownRetrieval.GetXMLDataSource("~/XMLDatasource/FacilityStatus.xml");
ddlStatus.DataTextField = "Name";
ddlStatus.DataValueField = "Value";
ddlStatus.DataBind();