【发布时间】:2010-06-30 17:11:00
【问题描述】:
我正在从服务中返回一些 Xml。我希望它成为我的 aspx 页面上网格视图的数据源。这是 Xml 的示例
<?xml version="1.0" encoding="utf-16" ?>
<ArrayOfTripTollCompleteDC xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<TripTollCompleteDC>
<TripTollId>5</TripTollId>
<DMSLaneModeID xsi:nil="true" />
<HOVOnly>false</HOVOnly>
<CreateDateTime>2010-06-07T15:54:01.023</CreateDateTime>
<ConfigVTMSDelaySeconds>5</ConfigVTMSDelaySeconds>
</TripTollCompleteDC>
这是我解析 xml 并尝试绑定网格的代码。我在这里错过了什么?
var retVal = service.GetTripDetailsByTripID(tripId);
var xmlTrips = XDocument.Parse(retVal);
var tripTolls =
from t in xmlTrips.Elements("TripTollCompleteDC")
select new {
TripTollId = (int)t.Element("TripTollId")
, DMSLaneModeID = (int?)t.Element("DMSLaneModeID")
, HOVOnly = (bool)t.Element("HOVOnly")
, CreateDateTime = (DateTime)t.Element("CreateDateTime")
, ConfigVTMSDelaySeconds = (int)t.Element("ConfigVTMSDelaySeconds")
};
grdTripDetails.DataSource = tripTolls;
grdTripDetails.DataBind();
我意识到这些是匿名类型。那是问题吗?我已验证该服务正在返回如上所述的 Xml。那里的任何人都可以指出我正确的方向吗?非常感谢您提供的任何提示。
为了完整起见,这里是网格标记
<asp:GridView runat="server" ID="grdTripDetails" />
干杯,
~ck 在圣地亚哥
【问题讨论】:
标签: asp.net linq data-binding linq-to-xml ienumerable