В базе данных Northwind. Я использую order и orderDetails таблица. Я хочу создать xml-файл, где order отображается в теге Item в XML и orderdetails показать на подпункт .Suppose orderid = 1 показать на теге Item затем orderdetais табличная информация OrderID = 1
показать на подпункте.
XElement xml = new XElement("MyMenu",
from c in db.Orders
//where (c.ParentID == 0)
orderby c.OrderID
select new XElement("Item",
c.OrderID == null ? null : new XAttribute("OrderID", c.OrderID),
c.ShipName == null ? null : new XAttribute("ShipName", c.ShipName),
c.OrderDate == null ? null : new XAttribute("OrderDate", c.OrderDate)
)
);
xml.Save(@"C:\contacts.xml");
Что мне нужно добавить в мой приведенный выше синтаксис. Покажите мне синтаксис. Заранее спасибо. Я работаю над C #. Выше приведенный синтаксис показывает вывод ниже:
<?xml version="1.0" encoding="utf-8"?>
<MyMenu>
<Item OrderID="10248" ShipName="Vins et alcools Chevalier" OrderDate="1996-07-04T00:00:00" />
<Item OrderID="10249" ShipName="Toms Spezialitäten" OrderDate="1996-07-05T00:00:00" />
<Item OrderID="10250" ShipName="Hanari Carnes" OrderDate="1996-07-08T00:00:00" />
</MyMenu>
Я хочу поставить ниже
<MyMenu>
<Item OrderID="10248" ShipName="Vins et alcools Chevalier" OrderDate="1996-07-04T00:00:00" >
<SubItem>
..........
..........Contain detailTable Information for OrderID="10248"
...........
</SubItem>
</Item>
</MyMenu>
Мой приведенный ниже синтаксис не может создать вывод выше:
XElement xml = new XElement("MyMenu",
//from c in db.Orders
from c in db.Orders
join od in db.Order_Details on c.OrderID equals od.OrderID
//where (c.ParentID == 0)
orderby c.OrderID
select new XElement("Item",
c.OrderID == null ? null : new XAttribute("OrderID", c.OrderID),
c.ShipName == null ? null : new XAttribute("ShipName", c.ShipName),
c.OrderDate == null ? null : new XAttribute("OrderDate", c.OrderDate),
new XElement("SubItem",
od.OrderID == null ? null : new XAttribute("OrderID", od.OrderID),
od.ProductID == null ? null : new XAttribute("ProductID", od.ProductID),
od.Quantity == null ? null : new XAttribute("Quantity", od.Quantity)
)
)
);
Выше приведенного синтаксиса создайте следующий вывод:
<?xml version="1.0" encoding="utf-8"?>
<MyMenu>
<Item OrderID="10250" ShipName="Hanari Carnes" OrderDate="1996-07-08T00:00:00">
<SubItem OrderID="10250" ProductID="41" Quantity="10" />
</Item>
<Item OrderID="10250" ShipName="Hanari Carnes" OrderDate="1996-07-08T00:00:00">
<SubItem OrderID="10250" ProductID="51" Quantity="35" />
</Item>
<Item OrderID="10250" ShipName="Hanari Carnes" OrderDate="1996-07-08T00:00:00">
<SubItem OrderID="10250" ProductID="65" Quantity="15" />
</Item>
</MyMenu>
Как поместить OrderID = "10250" всех подэлементов в один тег Item?