C# 读取具有相同元素名称的xml
我有以下格式的xml:C# 读取具有相同元素名称的xml,c#,linq,xml-parsing,C#,Linq,Xml Parsing,我有以下格式的xml: <?xml version="1.0" encoding="UTF-8" standalone="true"?> -<draw><drawNo>381555</drawNo> <drawTime>2013-04-29T19:55:00+03:00</drawTime> <result>8</result> <result>10</
<?xml version="1.0" encoding="UTF-8" standalone="true"?>
-<draw><drawNo>381555</drawNo>
<drawTime>2013-04-29T19:55:00+03:00</drawTime>
<result>8</result>
<result>10</result>
<result>13</result>
<result>15</result>
<result>20</result>
<result>21</result>
<result>22</result>
<result>25</result>
<result>28</result>
<result>29</result>
<result>34</result>
<result>36</result>
<result>44</result>
<result>46</result>
<result>52</result>
<result>62</result>
<result>63</result>
<result>72</result>
<result>73</result>
<result>75</result>
</draw>
-381555
2013-04-29T19:55:00+03:00
8.
10
13
15
20
21
22
25
28
29
34
36
44
46
52
62
63
72
73
75
我需要分割数据。。。
我尝试了以下代码:
XDocument loadeddata = XDocument.Parse(e.Result);
var data = from query in loadeddata.Descendants("draw")
select new KinnoResults()
{
DrawNo = (String) query.Element("drawNo").Value,
DrawTime = (String) query.Element("drawTime").Value,
result1 = (String)query.Element("result").Value,
result2 = (String)query.Element("result").Value
};
List<KinnoResults> list = data.ToList();
XDocument loadeddata=XDocument.Parse(e.Result);
var data=来自loadeddata.substands(“绘制”)中的查询
选择新的KinnoResults()
{
DrawNo=(String)query.Element(“DrawNo”).Value,
DrawTime=(字符串)query.Element(“DrawTime”).Value,
result1=(字符串)query.Element(“result”).Value,
result2=(字符串)query.Element(“result”).Value
};
List=data.ToList();
但是result1和result2的值是相同的8。
有什么想法吗?使用
元素
,它会给你一个收藏
select new KinnoResults()
{
DrawNo = (String)query.Elements("drawNo").Value,
DrawTime = (String)query.Element("drawTime").Value,
result1 = (String)query.Elements("result").ToList()[0].Value,
result2 = (String)query.Elements("result").ToList()[1].Value
};
尝试GetElementsByTagName。它将为您提供结果元素的列表。
var drawNo = loadeddata.Root.Element("drawNo").Value;
var drawTime = loadeddata.Root.Element("drawTime").Value;
var results = loadeddata.Descendants("result").Select(d => d.Value).ToList();