7

以下のようなクラスがあるとします。LINQ to XML を使用して以下のような xml を作成するにはどうすればよいですか?

public class Order
{
  public string OrderNo {get; set;}
  public string ItemId {get; set;}
  public string ItemDesc {get; set;}
  public int Qty {get; set;}
}
<orders>
  <orderid>
     <orderno>1</orderno>
     <itemid>W001</itemid>
     <itemdesc>C# T-Shirst</itemdesc>
     <quantity>2</quantity>
  </orderid> 
  <orderid>
     <orderno>2</orderno>
     <itemid>W002</itemid>
     <itemdesc>XML T-Shirt</itemdesc>
     <quantity>1</quantity>
  </orderid>
</orders>
4

3 に答える 3

21

XmlSerialization を使用することもできますが、LINQ to XML を使用するのが簡単で、クラスの実装を 1 つのシリアル化スキームに固定できない場合がかなりの数あります。リクエストを処理するためのコードを次に示します。

var xOrders = new XElement("orders",
    from o in Orders
    select new XElement("orderid", 
        new XElement("orderno", order.OrderNo),
        new XElement("itemid", order.ItemId),
        new XElement("itemdesc", order.ItemDesc),
        new XElement("quantity", order.Qty)));

xOrders.Save(targetPath);
于 2013-07-05T17:14:21.993 に答える