asp.net - 将外部XML数据发送到 gridview

  显示原文与译文双语对照的内容
120 1

任何人都可以帮助我?


<body>
 <form id="form1" runat="server">
 <div>
 <asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="http://weather.aero/dataserver_current/httpparam?dataSource=metars&requestType=retrieve&format=xml&stationString=lebl&hoursBeforeNow=5"> </asp:XmlDataSource>
 <asp:GridView ID="GridView1" runat="server" DataSourceID="XmlDataSource1">
 </asp:GridView>
 </div>
 </form>
</body>

任何帮助都非常感激。

感谢你的帮助。

跑步

时间: 原作者:

95 1

你还得解析 XML,所以试试这个

标记


<asp:GridView ID="WeatherList" runat="server" AutoGenerateColumns="false">
 <Columns>
 <asp:BoundField DataField="Latitude" HeaderText="Latitude"/>
 <asp:BoundField DataField="WindDirectionSpeed" HeaderText="Wind Speed(kms)"/>
 </Columns>
</asp:GridView>

代码 behind


protected void Page_Load(object sender, EventArgs e)
{
 if (!IsPostBack)
 {
 BindWeatherGrid();
 }
}

private void BindWeatherGrid()
{
 var url ="http://weather.aero/dataserver_current/httpparam?dataSource=metars&requestType=retrieve&format=xml&stationString=lebl&hoursBeforeNow=5";
 XDocument doc = XDocument.Load(url);
 var metars = from wthr in doc.Descendants("METAR")
 select new Metar()
 {
 Latitude = (string)wthr.Element("latitude"),
 WindDirectionSpeed = (string)wthr.Element("wind_speed_kt")
 };
 WeatherList.DataSource = metars;
 WeatherList.DataBind();
}

使用的命名空间


using System.Linq;
using System.Xml.Linq;

helper 类


public class Metar
{
 public string Latitude { get; set; }
 public string WindDirectionSpeed { get; set; }
}

原作者:
...