Импорт XML в массив строк - Windows Phone 7 - PullRequest
1 голос
/ 02 августа 2011

Я использую эту функцию, чтобы получить данные XML-файла в строковый массив

 private void ReadXml(string Dictionary, char letter)
    {
        XDocument xml = XDocument.Load(Dictionary);
        string[] dictionary=new string[2];
        int i=0;
        IEnumerable<XElement> de = from el in xml.Descendants(letter.ToString())
                                   select el;
        foreach (XElement el in de)
        {
            dictionary[i++] = el.Value.ToString();
        }
    }

Но в созданном массиве все содержимое указанного мной тега xml объединено в его первомline.

Например, xml-файл

<?xml version="1.0" encoding="Unicode"?>
<Animals>
  <A>Ant</A>
  <B>
    <word>Boa</word>
    <word>Bear</word>
  </B>
</Animals>

и с xml.Descendants("B") производит dictionary[0]=BoaBear и dictionary[1]=NULL

Так как я могу сделать так, чтобы каждое словопопадает в отдельную ячейку массива?

Спасибо в добавок.

1 Ответ

3 голосов
/ 02 августа 2011

Вам нужно перебрать элементы внутри тега <B>, вызвав Elements().

Например:

foreach(var word in xml.Root.Element("B").Elements())
...