2013-07-19 9 views
0

Привет, ребята, мне нужна помощь в получении всех элементов XML-файла в переменную.Чтение XML на нескольких уровнях C#

это мой XML:

<?xml version="1.0"?> 
<labels> 
    <label> 
     <product>Prod. 1</product> 
     <colour>947 - Gold</colour> 
     <size>15</size> 
     <barcode>INT0919890</barcode> 
     <amount>15</amount> 
    </label> 
    <label> 
     <product>Prod. 4</product> 
     <colour>942 - Silver</colour> 
     <size>66</size> 
     <barcode>INT0912390</barcode> 
     <amount>16</amount> 
    </label> 
    <label> 
     <product>Prod. 8</product> 
     <colour>947 - Gold</colour> 
     <size>19</size> 
     <barcode>INT0932490</barcode> 
     <amount>11</amount> 
    </label> 
</labels> 

, как я могу сделать это так, моя программа получает первую метку, помещает его в переменные, так что я могу использовать мои другие функции. а затем продолжается до следующего?

ответ

3

Синтаксический с LINQ к XML (возвращать сильно типизированных анонимные объекты):

var xdoc = XDocument.Load(path_to_xml_file); 
var labels = from l in xdoc.Root.Elements() 
      select new { 
       Product = (string)l.Element("product"), 
       Colour = (string)l.Element("colour"), 
       Size = (int)l.Element("size"), 
       Barcode = (string)l.Element("barcode"), 
       Amount = (int)l.Element("amount") 
      }; 

Использование:

foreach(var label in labels) 
{ 
    // use label.Product etc 
} 
+0

Спасибо и теперь продукт, цвет, и т.д., просто нормальные переменные и я могу позвонить функция в цикле Foreach правильно? – djkevino

+0

@djkevino дать ему попробовать;) –

+0

Теперь он работает красиво Спасибо человеку :) – djkevino

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