0

我有一个具有这种结构的 xml:

   <news>
      <id><![CDATA[1]]></id>
      <title><![CDATA[My title]]></title>
      <date><![CDATA[17-06-2013]]></date>
      <machine><![CDATA[a]]></machine>
      <machine><![CDATA[b]]></machine>
      <machine><![CDATA[c]]></machine>
      <machine><![CDATA[d]]></machine>
   </news>
   <news>
      <id><![CDATA[2]]></id>
      <title><![CDATA[My title 2]]></title>
      <date><![CDATA[17-06-2013]]></date>
      <machine><![CDATA[a]]></machine>
      <machine><![CDATA[b]]></machine>
      <machine><![CDATA[c]]></machine>
      <machine><![CDATA[d]]></machine>
   </news>

我是这样读的:

var datas = from query in loadedData.Descendants("news")
                            select new News
                            {
                                Title = (string)query.Element("title"),
                                Id = (string)query.Element("id"),
                                StrDate = (string)query.Element("date"),
                                list = query.Elements("machine")
                            };

编码

list = query.Elements("machine")

不起作用。如何获取带有标签“机器”的元素的列表

4

1 回答 1

1

下面提到的代码应该可以解决。我已将列表视为 List 的对象

var datas = from query in loadedData.Descendants("news")
                                select new News
                                {
                                    Title = (string)query.Element("title"),
                                    Id = (string)query.Element("id"),
                                    StrDate = (string)query.Element("date"),
                                    list = (from xele in query.Descendants("machine")
                                           select xele.Value).ToList<string>();   
                                };
于 2013-06-17T12:29:53.210 回答