hi all am trying to read a xml document using linq.am struck with a problem a node has two values in the same name how can i get those two values. am able to get only the first using this code.
XDocument doc = XDocument.Load("Orders.xml");
var data = from item in doc.Descendants("Order")
select new
{
OrderID = item.Element("OrderID").Value,
POnumber = item.Element("PurchaseOrderNumber").Value,
OrderDate = item.Element("OrderPlacedDate").Value,
PFirstName = item.Element("purchasingContact").Element("FirstName").Value,
Pid= item.Element("CurrentOrderDetails").Element("ProductsId").Value
};
am able to get only product id 34 how can i get the another one too?Please help
<Order>
<OrderID>123</OrderID>
<PurchaseOrderNumber>12</PurchaseOrderNumber>
<OrderPlacedDate>12/23/2012</OrderPlacedDate>
<PurchasingContact>
<FirstName>test</FirstName>
</PurchasingContact>
<CurrentOrderDetails>
<ProductsId>34</ProductsId>
<OrderQuantity>2</OrderQuantity>
<ProductsId>35</ProductsId>
<OrderQuantity>2</OrderQuantity>
</CurrentOrderDetails>
</Order>
<Order>
.......
</Order>
But to be honest – you should consider changing the XML structure.
CurrentOrderDetailsshould look more like that:or
This would make it easier to get product ID and it’s quantity together.