0

私は1つのxmlを持っています。xmlには注文書のリストがあります。その注文書の中に顧客のリストがあります。以下のコードを使用して、顧客のリストを除くすべての要素を取得しました。そのリストをxmlからクラスのリストに割り当てるにはどうすればよいですか。誰でもソートできますアウト。

 var ItemDet = from results in doc1.Descendants("PurchaseOrderClass")
                              select new PurchaseOrderClass
                              {
                                  Vendor_Name = results.Element("Vendor_Name").Value.ToString(),
                                  ItemCode = results.Descendants("ItemCode").First().Value.ToString(),
                                  Quantity = Int32.Parse(results.Descendants("Quantity").First().Value),
                                  Price = Int32.Parse(results.Element("Price").Value),
                                  Discount = Int32.Parse(results.Descendants("Discount").First().Value),
                                  TotalAmount = Int32.Parse(results.Descendants("TotalAmount").First().Value),
                                  DeliveryDate = Convert.ToDateTime(results.Descendants("DeliveryDate").First().Value),
                                  PO_Number = Int32.Parse(results.Descendants("PO_Number").First().Value),
                                  //CusList= List<Customer> (results.Descendants("Customer")).ToList(),

                              };
4

2 に答える 2

1

最後の行をそのようなものに変更します(xmlとクラス構造がないとうまくいきません)。

CustList = results.Descendants("Customer")
                  .Select(m => new Customer {
                       LastName = m.Element("LastName").Value,
                       FirstName = m.Element("FirstName").Value,
                   }).ToList();
于 2013-03-06T13:22:18.883 に答える
1

プロパティを取得する代わりにstringintまたはにキャスト要素を使用します。クエリは次のようになります。DateTimeValue

 var ItemDet = 
       from o in doc1.Descendants("PurchaseOrderClass")
       select new PurchaseOrderClass
       {
            Vendor_Name = (string)o.Element("Vendor_Name"),
            ItemCode = (string)o.Element("ItemCode"),
            Quantity = (int)o.Element("Quantity"),
            Price = (int)o.Element("Price"),
            Discount = (int)o.Element("Discount"),
            TotalAmount = (int)o.Element("TotalAmount"),
            DeliveryDate = (DateTime)o.Element("DeliveryDate"),
            PO_Number = (int)o.Element("PO_Number"),
            CusList= o.Descendants("Customer")
                      .Select(c => new Customer {
                          // parse properties like
                          // Name = (string)c.Element("Name")
                      }).ToList()
       };
于 2013-03-06T13:29:59.543 に答える