xmldoc.SelectSingleNode当然是一个值了 你人用得到多值的那个方法

解决方案 »

  1.   

    xmldoc.selectNodes得到满足条件的序列
      

  2.   

    XML文件
        <!-- sample xml file -->
        <bookstore>
          <book genre='novel' ISBN='10-861003-324'>
            <title>The Handmaid's Tale</title>
            <price>19.95</price>
          </book>
          <book genre='novel' ISBN='1-861001-57-5'>
            <title>Pride And Prejudice</title>
            <price>24.95</price>
          </book>
        </bookstore>取每个书节点上的ISBN属性
        using (XmlReader reader = XmlReader.Create("books.xml")) 
        {
            reader.ReadToFollowing("book");
            do {
               Console.WriteLine("ISBN: {0}", reader.GetAttribute("ISBN")); 
            } while (reader.ReadToNextSibling("book"));
        }
    跳到子节点
        using (XmlReader reader = XmlReader.Create("2books.xml")) 
        {
            reader.MoveToContent();                 // bookstore
            reader.ReadToDescendant("book");        // 第一个book
            reader.Skip(); //Skip the first book.   // 第二个book
            ...
        }
        
    挖到子节点
        using (XmlReader reader = XmlReader.Create("book3.xml")) 
        {
            reader.Read();
            reader.ReadStartElement("book");
                reader.ReadStartElement("title");
                    Console.WriteLine("The content of the title element:  {0}", reader.ReadString());
                reader.ReadEndElement();
                reader.ReadStartElement("price");
                    Console.WriteLine("The content of the price element:  {0}", reader.ReadString());
                reader.ReadEndElement();
            reader.ReadEndElement();
        }读到指定位置   
       FileStream fs = new FileStream("..\\..\\..\\books.xml", FileMode.Open);
       XmlTextReader tr = new XmlTextReader(fs);
       while(!tr.EOF)
       {
          // 查找类型为XmlNodeType.Element和名称为title的节点
          if(tr.MoveToContent() == XmlNodeType.Element && tr.Name=="title")
          {
             listBox1.Items.Add(tr.ReadElementString());
          }
          else 
          {
             tr.Read();
          }
        }
    遍历元素属性
       string fileName = "..\\..\\..\\books.xml";
       XmlTextReader tr = new XmlTextReader(fileName);
       while(tr.Read())
       {
          //check to see if it's a NodeType element
          if(tr.NodeType == XmlNodeType.Element)  
          {
             //if it's an element, then let's look at the attributes.
             for(int i = 0; i < tr.AttributeCount; i++) {
                listBox1.Items.Add(tr.GetAttribute(i));
          }
    }