<Employees>
  <NO1>
    <UserName></UserName>
    <UserPhone></UserPhone>
    <MailAddress></MailAddress>
    <Email></Email>
    <DeviceID>yy</DeviceID>
    <Vendors></Vendors>
    <VendorsrPhone>
</VendorsrPhone>
    <Experience>as</Experience>
    <BuyDate>2008-08-07 </BuyDate>
  </NO1>
</Employees>我想要的读取到的值为str=";;;;yy;;;as;2008-08-07"就是读取NO1节点下所有节点的text(即使为空)

解决方案 »

  1.   

    XmlTextReader reader=new XmlTextReader("你的文件名"); string key = ""; try
         {
            while(reader.Read())
            {
             if (reader.NodeType==XmlNodeType.Element)
                {
                 if (reader.Name=="UserName")
                            {
                                key = reader.ReadElementString().Trim();
                                info.Add(key, "");
                            }   
                ....
                 }
             }
         }
    catch(System.Exception e)   
      {
         MessageBox.Show(e.ToString());
      }
     finally
     {
     if (reader!=null)
     {
        reader.Close();
      }
    }
    大致就是这个框架吧
      

  2.   

      XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.Load(@"D:\Project\C#Test\WindowsApplication1\WindowsApplication4\XMLFile1.xml");
                
                XmlNode node = xmlDoc.SelectSingleNode("/Employees/NO1");
    string str="";
    Foreach(XmlNode n in node.ChildNodes)
    {
    str=str+n.InnerText+";";
    }
      

  3.   

    XmlDocument doc= new XmlDpcument();
    doc.load(XML路径);
    XmlNodeList nodes =doc.GetNodesByTag("NO1");
    foreach(XmlNode n in nodes)
    {
    string str ="";
    str +=node.ChildNodes.Item(0).InnerText;
    str +=node.ChildNodes.Item(1).InnerText;
    str +=node.ChildNodes.Item(2).InnerText;
    str +=node.ChildNodes.Item(3).InnerText;
    str +=node.ChildNodes.Item(4).InnerText;
    str +=node.ChildNodes.Item(5).InnerText;
    str +=node.ChildNodes.Item(6).InnerText;
    str +=node.ChildNodes.Item(7).InnerText;
    str +=node.ChildNodes.Item(8).InnerText;}
      

  4.   


            private void button1_Click(object sender, EventArgs e)
            {
                StringBuilder sb = new StringBuilder();
                StringReader sr = new StringReader(richTextBox1.Text);
                XPathDocument doc = new XPathDocument(sr);
                XPathNavigator nav = doc.CreateNavigator();
                XPathNodeIterator iter = nav.Select("/Employees/NO1");
                while (iter.MoveNext())
                {
                    XPathNodeIterator xpthIter = iter.Current.SelectChildren(XPathNodeType.Element);
                    while (xpthIter.MoveNext())
                    {
                        richTextBox2.AppendText(";"+xpthIter.Current.ToString());
                    }
                    
                }
            }
      

  5.   

    测试通过
            private void button1_Click(object sender, EventArgs e)
            {
                StringBuilder sb = new StringBuilder();
                StringReader sr = new StringReader(richTextBox1.Text);
                XPathDocument doc = new XPathDocument(sr);
                XPathNavigator nav = doc.CreateNavigator();
                XPathNodeIterator iter = nav.Select("/Employees/NO1");
                while (iter.MoveNext())
                {
                    XPathNodeIterator xpthIter = iter.Current.SelectChildren(XPathNodeType.Element);
                    while (xpthIter.MoveNext())
                    {
                        richTextBox2.AppendText(";"+xpthIter.Current.ToString());
                    }
                    
                }
            }
      

  6.   

    ;;;;;yy ;;;as ;2008-08-07这就是结果
      

  7.   

    XmlDocument xmlDoc = new XmlDocument();
       xmlDoc.Load(@"D:\Project\C#Test\WindowsApplication1\WindowsApplication4\XMLFile1.xml");
         
      XmlNode node = xmlDoc.SelectSingleNode("/Employees/NO1");
    string str="";
    Foreach(XmlNode n in node.ChildNodes)
    {
    str=str+n.InnerText+";";

    二楼正解!!!建议楼主结贴了