2013-04-29 2 views
0

У меня есть XML в формате ниже:чтения 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</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> 

мне нужно разделить данные ... Я попытался код ниже:

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(); 

Но Result1 и result2 hava то же значение 8. Любая идея, пожалуйста?

+0

Try GetElementsByTagName. Он даст вам список элементов результата. – Yahya

ответ

1
var drawNo = loadeddata.Root.Element("drawNo").Value; 
var drawTime = loadeddata.Root.Element("drawTime").Value; 
var results = loadeddata.Descendants("result").Select(d => d.Value).ToList(); 
1

использование Elements, он получает вас коллекцию

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 

    }; 
Смежные вопросы