0

我真的坚持这个,所以所有的帮助都是非常受欢迎的。我有一个这样的 XML 文档:

</root>
 <person>
  <name>John</name>
  <lastname>Doe</lastname>
  <laguage>NL</language>
  <laguage>EN</language>
  <laguage>DK</language>
 </person>
<person>
 <name>Samantha</name>
 <lastname>Doe</lastname>
 <laguage>NL</language>
 <laguage>EN</language>
 <laguage>DK</language>
</person>
</root>

所以我想在我的一个模型中的一个地方阅读它,所以我在下面这样做。

XDocument xDoc = XDocument.Load("c:\\users\\acount\\documents\\visual studio 2010\\Projects\\XmlTest\\XmlTest\\XmlTest\\Sample.xml");

var data = from feed in xDoc.Descendants("person")
           select new XmlModel
           {
             name = feed.Element("name").Value,
             lastname = feed.Element("lastname").Value,
             language = feed.Element("language").Value,
           };

因此,就像您期望的那样,这只会读取一种语言,而不会超过一种。我需要什么我阅读所有语言但仍然存在问题,因为有些人确实比其他人知道更多的语言。有人能帮我吗,因为我生病了,累了

4

2 回答 2

3
languages = feed.Descendants("language").Select(x=>x.Value).ToList(),
于 2012-08-27T11:18:21.517 回答
0
var data = from feed in xDoc.Descendants("person")
               select new XmlModel
                   {
                       name = feed.Element("name").Value,
                       lastname = feed.Element("lastname").Value,
                       language = feed.Elements("language").Select(x=>x.Value)
                   };

您需要将 XmlModel 的语言制作为一种IEnumerable<string>,以便它可以存储多种语言。

于 2012-08-27T11:25:56.033 回答