создание XML-файла с LINQ to XML - PullRequest
0 голосов
/ 12 апреля 2011

Мне нужно написать linq в XML-запрос такого рода ниже XML-данных

<PRODUCT>
<ID>34169</ID>
<D1>good</D1>
<D2>well</D2>
<L1>lame</L1>
<L2>killer</L2>
<BR>IOMEGA</BR>
<KDV>18</KDV>
<IMG>34169.JPG</IMG>
<EAN>data1</EAN>
<ATP>50+</ATP>
<DM3>0,51</DM3>
<S>
  <L>Tip</L>
  <V>HARICI</V>
</S>
<S>
  <L>Renk</L>
  <V>METALIK GRI</V>
</S>
<S>
  <L>Kapasite (GB)</L>
  <V>500</V>
</S>
<S>
  <L>Dönüş Hızı (Rpm)</L>
  <V>5400,0</V>
</S>
<S>
  <L>Arabirim</L>
  <V>USB 2.0</V>
</S>
<S>
  <L>Form Faktörü (Inch)</L>
  <V>2,5</V>
</S>
<S>
  <L>Ön Bellek (Kb/mb)</L>
  <V>8,0</V>
</S>
<S>
  <L>Satış Garanti Süresi (ay)</L>
  <V>36</V>
</S>

мои проблемы

  1. получить толькопервое изображение, когда в базе данных есть несколько изображений (img содержит путь к изображению в виде строки в моей таблице базы данных)

  2. обрабатывает <S> часть

Я новичок в LINQ to XML, пожалуйста, помогите, спасибо.

Ответы [ 2 ]

1 голос
/ 12 апреля 2011

Надеюсь, это поможет ..

        var productElement = XDocument.Load("product.xml").Root;

        var firstImagePath  = productElement.Element("IMG").Value;
        var sElements = productElement.Elements("S");

        //if you want an object instead of XElements, you can do
        var sElementObjects = sElements.Select(xe => new
                                        {
                                              L = xe.Element("L").Value,
                                              V = xe.Element("V").Value,
                                         });
0 голосов
/ 12 апреля 2011

есть мой ответ

 XElement productCatalog = 
                   new XElement("PRODUCTCATALOG",

                               from urun in db.TBLP1URUNs
                               select new XElement("PRODUCT",

                                           new XElement("ID", urun.ID),

                                           new XElement("D1", urun.MODEL),

                                           new XElement("D2", urun.URUNACIKLAMA),

                                           new XElement("L1", urun.TBLP1URUNKATEGORI.TREENAME),

                                           new XElement("IMG", db.TBLP1URUNRESIMs.Where(p => p.URUN_ID == urun.ID).First().FILE_NAME),

                                           new XElement("EAN", urun.STOKKODU),

                                           new XElement("ATP", GetUrunStokById(urun.ID)),//STOKMIKTARI

                                           new XElement("DM3", urun.DESI),

                                           from ozellikler in urun.TBLP1OZELLIK_URUNs
                                           select new XElement("S",

                                               new XElement("L", ozellikler.TBLP1OZELLIK.TBLP1OZELLIKTIPI.TIPI),

                                               new XElement("V", ozellikler.TBLP1OZELLIK.OZELLIK))

                                               )                           
                            );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...