LINQ to XML非常新颖。LINQ to XML查询无知
我有以下文件:
<?xml version="1.0"?>
<DIDemo>
<PurchaseOrders>
<PurchaseOrder date="2011-11-15" purchaseordernumber="PO-1234-1234" suppliername="The Greatest Supplier">
<LineItems>
<LineItem productcode="PRD-001" productname="A Cool Product" quantity="3" unitprice="276.99"/>
<LineItem productcode="PRD-056" productname="A Unique Product" quantity="5" unitprice="316.99"/>
</LineItems>
</PurchaseOrder>
<PurchaseOrder date="2011-11-11" purchaseordernumber="PO-1231-1231" suppliername="The Largest Supplier">
<LineItems>
<LineItem productcode="PRD-025" productname="A Useful Product" quantity="8" unitprice="96.99"/>
<LineItem productcode="PRD-014" productname="A Wonderful Product" quantity="1" unitprice="916.99"/>
</LineItems>
</PurchaseOrder>
</PurchaseOrders>
</DIDemo>
和我想要一个很简单的查询来获取基础上,purchaseordernumber属性采购订单。最终目标是从采购订单节点(属性和订单项)中创建一个c#对象。
我想查询如下(我打破了它在片试试,看看是个问题):
var document = XDocument.Load(PurchaseOrdersFilePath);
var partial1 = document.Element("PurchaseOrders"); //This returns null
var partial2 = partial1.Elements("PurchaseOrder"); //This one blows up
var final = partial2.Single(po => po.Attribute("purchaseordernumber") == criterion.PropertyValue);
如果这不起作用。什么是正确的方式来查询这个?
感谢您的帮助。
谢谢。后代选项是有效的。 Root.Element选项在Single语句中抛出“InvalidOperationException:Sequence contains no elements”异常。 –