使用Linq到xml选择实体

时间:2011-07-13 18:21:27

标签: linq-to-xml

我是linq的新手,我得到了一个xml文件

  <?xml version="1.0" standalone="yes"?>
   <NewDataSet>
      <Order>
          <OrderID>1</OrderID>
          <ProductID>11</ProductID>
          <UnitPrice>14.0000</UnitPrice>
          <Quantity>12</Quantity>
          <Discount>0</Discount>
      </Order>
      <Order>
          <OrderID>2</OrderID>
          <ProductID>42</ProductID>
          <UnitPrice>9.8000</UnitPrice>
          <Quantity>10</Quantity>
          <Discount>0</Discount>
      </Order>
      .
      .
 </NewDataSet>

现在我正在尝试查询名为“Order”的所有元素

        var query = from e in XElement.Load("..//..//OrderDetailsData.xml").Elements("Order")
                    select e.Element("Order"); 

这不会返回任何内容

我也试过

        var query = from e in XElement.Load("..//..//OrderDetailsData.xml").Descendants("NewDataSet").Elements("Order")
        select e.Element("Order");

问题是如何选择多个名为Order的元素? (并不是说这甚至只选择一个元素) 有配偶是某种lambada“e =&gt; e”或类似的东西......

总结..我只是不明白如何使用linq查询到xml,因为我将linq列表

1 个答案:

答案 0 :(得分:0)

您只是想要var query = XElement.Load("..//..//OrderDetailsData.xml").Elements("Order");,或者如果您真的认为from select有用,请使用var query = from order in XElement.Load("..//..//OrderDetailsData.xml").Elements("Order") select order;