我有一个xml文件,内容如下: 
<?xml version="1.0" encoding="UTF-8"? > 
<booklist > 
     <book > 
         <booktitle >Beethoven </booktitle > 
         <bookauthor >Maynard Solomon </bookauthor > 
     </book > 
     <book > 
         <booktitle >The Art of Shakespeare 's Sonnets </booktitle > 
         <bookauthor >Helen Vendler </bookauthor > 
     </book > 
</booklist > 
这个文件在本地,我现在要访问并遍历这个xml文件,显示在listview中,请问我怎么取到booktitle和bookauthor的值啊,如果有一些代码做参考,那就太好了。谢谢!
(我有一段例程,是对把子节点变成根结点的属性的这种xml访问遍历的(取name,取value),请问我这样的xml文件是否要转成子节点变成根结点属性的xml文档才能访问 还是直接有相关的函数可以使用)
谢谢了!

解决方案 »

  1.   

    XmlDocument xd = new XmlDocument();
    xd.Load("你的xml的文件路径");
    XmlNode booksNode = xd.SelectSingleNode("booklist");
    XmlNodeList books = booksNode.ChildNodes;
    foreach (XmlNode book in books)
    {
        string booktitle = book.SelectSingleNode("booktitle").InnerText;
        string bookauthor = book.SelectSingleNode("bookauthor").InnerText;
    }
      

  2.   

    if (this.textBox1.Text.Length == 0)
    return; this.listView1.Items.Clear();
    foreach (XmlNode node in root.ChildNodes)
    {
    if (node.Attributes["Name"].Value == this.textBox1.Text)
    {
    foreach (XmlNode item in node.ChildNodes)
    {
    this.listView1.BeginUpdate();
    ListViewItem lvi = new ListViewItem(item.Attributes["Sequence"].Value);
    lvi.SubItems.Add(item.Attributes["Name"].Value);
    lvi.SubItems.Add(item.Attributes["ArriveTime"].Value);
    lvi.SubItems.Add(item.Attributes["LeaveTime"].Value);
    lvi.SubItems.Add(item.Attributes["TravelTime"].Value);
    lvi.SubItems.Add(item.Attributes["TravelDistance"].Value);
    this.listView1.Items.Add(lvi);
    this.listView1.EndUpdate();
    }
    break;
    }
    }
      

  3.   

    XmlDocument xd = new XmlDocument();
    xd.Load("你的xml的文件路径");
    XmlNode booksNode = xd.SelectSingleNode("booklist");
    XmlNodeList books = booksNode.ChildNodes;
    foreach (XmlNode book in books)
    {
        string booktitle = book.SelectSingleNode("booktitle").InnerText;
        string bookauthor = book.SelectSingleNode("bookauthor").InnerText;
    }