2013-10-08 29 views
0

我想从我的XML文件中的节点加载数据,让他们发布在列表框中。 这是我的xml文件的样子。不显示所有数据从xml到列表框

<?xml version="1.0" encoding="utf-8"?> 
<MovieData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <Movie> 
    <Name>Death Race</Name> 
    <Type>Action</Type> 
    <Type>Adventure</Type> 
    <Rating>R</Rating> 
    <Disk>Blu-Ray</Disk> 
    </Movie> 
    <Movie> 
    <Name>Death Race 2</Name> 
    <Type>Action</Type> 
    <Type>Adventure</Type> 
    <Rating>R</Rating> 
    <Disk>Blu-Ray</Disk> 
    </Movie> 
</MovieData> 

这是我想要做的。

try 
    { 
     XmlDocument doc = new XmlDocument(); 
     doc.Load(movieListXML); 
     XmlNodeList nodeList = doc.SelectNodes("/MovieData"); 
     foreach (XmlNode xn in nodeList) 
     { 
      XmlNode movie = xn.SelectSingleNode("Movie"); 
      if (movie != null) 
      { 
       movieTypeListBox.Items.Add(movie["Name"].InnerText); 
      } 
     } 
    } 
    catch (Exception ex) 
    { 
     MessageBox.Show(ex.Message); 
    } 

有谁能告诉我我的问题在哪里?谢谢。

回答

1

迭代在你Movie不是你MovieData

try 
{ 
    XmlDocument doc = new XmlDocument(); 
    doc.Load("XMLFile1.xml"); 
    XmlNode node = doc.SelectSingleNode("/MovieData"); 
    foreach (XmlNode movie in node.SelectNodes("Movie")) 
    { 
     if (movie != null) 
     { 
      movieTypeListBox.Items.Add(movie["Name"].InnerText); 
     } 
    } 
} 
catch (Exception ex) 
{ 
    MessageBox.Show(ex.Message); 
} 
+0

非常感谢萌芽状态。这工作完美。 – deathismyfriend