使用 Linq to xml 选择实体

发布于 2024-11-23 15:15:21 字数 1283 浏览 0 评论 0原文

我是 linq 的新手,iv'e 得到了一个 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"); 

这不会返回任何内容

iv'e 也尝试了

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

问题是如何选择多个名为 Order 的元素? (并不是说这甚至选择了单个元素) 是否有配偶是某种 lambda“其中 e => e ”或类似的东西...

结论..我只是不明白如何使用 linq to xml 进行查询,就像我会 linq 一个列表一样

i'm new to linq , iv'e got an xml file as such

  <?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>

now i'm trying to query all the elements named "Order"

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

this returns nothing

iv'e also tried

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

the question is how do i select multiple elements named Order ?
(not that this selects even a single element)
is there spouse to be some kind of lambada "where e => e " or something of the sort ...

to conclude .. i just don't understand how to query using linq to xml as i would linq a list

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一曲爱恨情仇 2024-11-30 15:15:21

您只需 var query = XElement.Load("..//..//OrderDetailsData.xml").Elements("Order"); 或者如果您确实认为 来自select 很有帮助,然后使用 var query = from order in XElement.Load("..//..//OrderDetailsData.xml").Elements("Order") select order;

You simply want var query = XElement.Load("..//..//OrderDetailsData.xml").Elements("Order"); or if you really think that a from select is helpful then use var query = from order in XElement.Load("..//..//OrderDetailsData.xml").Elements("Order") select order;.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文