2017-03-07 44 views
1

我的XML:如何從XML讀取特定字段,並加載到Oracle數據庫

- <resources start="0" count="188">- 
- <resource classname="Quote"> 
    <field name="name">USD/GEL</field> 
    <field name="price">2.418900</field> 
    <field name="symbol">GEL=X</field> 
    <field name="ts">1488758461</field> 
    <field name="type">currency</field> 
    <field name="utctime">2017-03-06T00:01:01+0000</field> 
    <field name="volume">0</field> 
    </resource>- 
    </resources> 

C#代碼:

var xmlNodes = xElement.Descendants("resource") 
      .Select(e => new 
      { 

       ConvertFrom = e.Attribute("symbol").Value, 

       ConvRate = e.Attribute("price").Value, 

       ConvDate = e.Attribute("utctime").Value 
      }); 

我想上面的代碼來獲取並加載到Oracle但我得到了一個錯誤。

System.Linq.Enumerable + WhereSelectEnumerableIterator 2[System.Xml.Linq.XElement,<>f__AnonymousType0 3 System.String,System.String,System.String]

請幫我解決這個問題。

回答

0

我想你誤會Attribute方法,屬性的名稱是namesymbol是價值,讓您的查詢可能是這樣:

var xmlNodes = xElement.Descendants("resource") 
         .Select(e => new 
            { 

             ConvertFrom = (string)e.Elements().FistOrDefault(r=>r.Attribute("name").Value=="symbol"), 
             ConvRate = (string)e.Elements().FistOrDefault(r=>r.Attribute("name").Value=="price"), 
             ConvDate = (DateTime)e.Elements().FistOrDefault(r=>r.Attribute("name").Value=="utctime"), 
            }); 
+0

謝謝朋友。有用。 。非常感謝 –

相關問題