C# 在字符串数组中导入XML-Windows Phone 7

C# 在字符串数组中导入XML-Windows Phone 7,c#,xml,windows-phone-7,windows-phone,C#,Xml,Windows Phone 7,Windows Phone,我使用此函数将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 x

我使用此函数将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();
        }
    }
private void ReadXml(字符串字典,字符字母)
{
XDocument xml=XDocument.Load(字典);
字符串[]字典=新字符串[2];
int i=0;
IEnumerable de=来自xml.substands(letter.ToString())中的el
选择el;
foreach(在de中的XElement el)
{
dictionary[i++]=el.Value.ToString();
}
}
但是生成的数组将我指定的xml标记的所有内容合并到它的第一行中

例如,xml文件

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

蚂蚁
博阿
熊
使用
xml.substands(“B”)
生成
dictionary[0]=BoaBear
dictionary[1]=NULL

那么我怎样才能使每个单词都进入一个单独的数组单元格呢


感谢您的支持。

您需要通过调用
elements()
来遍历
标记中的元素

例如:

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

您的XML设计得很糟糕。你应该在所有情况下使用多个
标记。你是对的,我使用了这个“word1,word2”,因为我认为我是必须不同的标记。谢谢你的建议,我会马上修改:)你也应该在
中使用
标记,即使只有一个单词。统一结构的数据更容易使用。您不应该每次调用该方法时都重新解析字典。您能更具体一点吗?我应该在哪里打电话给el.Elements?对不起<代码>删除元素()。在
foreach
中。我将添加一个正确的示例。我这样使用它,得到了
dictionary[0]=Boa
dictionary[1]=Bear
。但我认为我们的方向是正确的:)我发现了问题所在!我忘了在foreach循环中放置.Value。现在它工作了!非常感谢你的帮助!:)