Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.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# 如何使用linq从xml文件中的单个项创建对象?_C#_Xml_Linq_Linq To Xml - Fatal编程技术网

C# 如何使用linq从xml文件中的单个项创建对象?

C# 如何使用linq从xml文件中的单个项创建对象?,c#,xml,linq,linq-to-xml,C#,Xml,Linq,Linq To Xml,基本上,我在xml文件中有一个元素,用于存储应用程序的设置。这个元素反映了我构建的一个类。我尝试使用LINQ做的是选择单个元素,然后将存储在该元素中的值存储在单个语句中的类实例中 现在我分别选择元素,然后将该元素的值存储到不同的属性中。当然,这会变成六种不同的说法。是否可以在一条语句中执行此操作?如果可以显示XML,则效果会更好,但您可以从下面的代码中获得大致的想法 XDocument doc = //load xml document here var instance = from ite

基本上,我在xml文件中有一个元素,用于存储应用程序的设置。这个元素反映了我构建的一个类。我尝试使用LINQ做的是选择单个元素,然后将存储在该元素中的值存储在单个语句中的类实例中


现在我分别选择元素,然后将该元素的值存储到不同的属性中。当然,这会变成六种不同的说法。是否可以在一条语句中执行此操作?

如果可以显示XML,则效果会更好,但您可以从下面的代码中获得大致的想法

XDocument doc = //load xml document here

var instance = from item in doc.Descendants("ElementName")
                   select new YourClass()
                              {
                                  //fill the properties using item 
                              };

如果您可以显示您的XML,这会更好,但您可以从下面的代码中获得大致的想法

XDocument doc = //load xml document here

var instance = from item in doc.Descendants("ElementName")
                   select new YourClass()
                              {
                                  //fill the properties using item 
                              };

您可以使用LINQ转换XML,例如

var document = XDocument.Load("myxml.xml");
document.Element("rootElement").Element("myElement").Select(e => 
  new MySettingsClass
  {
    MyProperty = e.Attribute("myattribute").Value,
    MyOtherProperty = e.Attribute("myotherattribute").Value 
  });

有关更多详细信息,请参阅。

您可以使用LINQ to XML,例如

var document = XDocument.Load("myxml.xml");
document.Element("rootElement").Element("myElement").Select(e => 
  new MySettingsClass
  {
    MyProperty = e.Attribute("myattribute").Value,
    MyOtherProperty = e.Attribute("myotherattribute").Value 
  });
有关更多详细信息,请参阅