【发布时间】:2015-07-21 15:09:59
【问题描述】:
我正在读取一个 xml 文件并通过以下方式通过 LINQ 查询
XDocument document = XDocument.Load(xmlFilePath);
var query = document.Descendants("orders").Select(c => c);
query = query.OrderBy(sortColumn + " " + OrderDirection);
query = query.Skip(lowerPageBoundary - 1 * rowsPerPage).Take(rowsPerPage);
DataTable table = query.ToList().ConvertToDataTable();
table.Locale = System.Globalization.CultureInfo.InvariantCulture;
//adapter.Fill(table);
return table;
但出现错误类型“XElement”(索引 0)中不存在属性或字段“OrderID”
这是我通过 LINQ 查询的示例 xml
<?xml version="1.0" encoding="utf-8"?>
<Root>
<Orders>
<OrderID>10248</OrderID>
<CustomerID>VINET</CustomerID>
<EmployeeID>5</EmployeeID>
<OrderDate>1996-07-04T00:00:00</OrderDate>
<RequiredDate>1996-08-01T00:00:00</RequiredDate>
<ShippedDate>1996-07-16T00:00:00</ShippedDate>
<ShipVia>3</ShipVia>
<Freight>32.3800</Freight>
<ShipName>Vins et alcools Chevalier</ShipName>
<ShipAddress>59 rue de l'Abbaye</ShipAddress>
<ShipCity>Reims</ShipCity>
<ShipPostalCode>51100</ShipPostalCode>
<ShipCountry>France</ShipCountry>
</Orders>
</Root>
在调试模式下,我展开结果视图并发现订单 ID 存在。这是屏幕截图。
所以告诉我我在哪里犯了代码错误。请指导。谢谢
【问题讨论】:
-
你为什么有
.Select(c => c)?这没有任何作用......
标签: c# linq linq-to-xml dynamic-linq