2011-04-12 146 views
0

我需要寫LINQ到此類的XML查詢下面的XML數據創建XML文件的LINQ to 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請幫忙,謝謝。

+0

不知道我確切地知道你的意思。說例如你想從上面的XML檢索什麼會有所幫助。 – grzeg 2011-04-12 09:05:14

回答

0

有我的回答

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)) 

               )       
          ); 
1

希望這有助於..

 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

也許我以錯誤的方式提出了問題,我想創建一個XML文檔,就像我的問題中的一個,我正在從我的數據庫中提取數據。並且我可以使用id,d1,d2等,但是在S部分是更深一層,我不能讓它看起來像這樣我能夠做的是顯示每個S標籤相同的產品。我想我需要某種X節點或者其他可以包含其他元素的東西 – Bastardo 2011-04-12 10:59:07