Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从XML中读取特定字段并加载到Oracle数据库中_C#_Xml_Linq - Fatal编程技术网

C# 如何从XML中读取特定字段并加载到Oracle数据库中

C# 如何从XML中读取特定字段并加载到Oracle数据库中,c#,xml,linq,C#,Xml,Linq,我的XML: - <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> <f

我的XML:

- <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>
 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+whereselectEnumerableInterator
2[System.Xml.Linq.XElement,f_u匿名类型0
3[System.String,System.String,System.String]


请帮助我解决此问题。

我认为您误解了
属性
方法,属性的名称是
名称
符号
是值,因此您的查询可能是这样的:

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"),
                                     });

我认为您误解了
属性
方法,属性的名称是
名称
符号
是值,因此您的查询可能是这样的:

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"),
                                     });