求一个用XmlReader读XML字符串的例子
谢谢. 
 请给代码示范.
------解决方案--------------------System.Xml命名空间包含了一些最重要的XML类,其中最主要的类是和XML文档的读写操作相关的类。这些类中包括4个与读相关的类以及2个与写相关的类。它们分别是:XmlReader、XmlTextReader、XmlValidatingReader、XmlNodeReader、XmlWriter以及 XmlTextWriter。     
       XmlReader类是一个虚基类,它包含了读XML文档的方法和属性。该类中的Read方法是一个基本的读XML文档的方法,它以流形式读取XML文档中的节点(Node)。另外,该类还提供了ReadString、ReadInnerXml、ReadOuterXml和ReadStartElement等更高级的读方法。除了提供读XML文档的方法外,XmlReader类还为程序员提供了MoveToAttribute、MoveToFirstAttribute、MoveToContent、MoveToFirstContent、MoveToElement以及 MoveToNextAttribute等具有导航功能的方法。     
   XmlTextReader、XmlNodeReader以及XmlValidatingReader等类是从XmlReader类继承过来的子类。根据它们的名称,我们可以知道其作用分别是读取文本内容、读取节点和读取XML模式(Schemas)。   
 使用XmlTextReader   
    XmlTextReader reader=null;                   
    try 
    {  
     string Fpath=Server.MapPath( "menu.xml ");     
        reader=new XmlTextReader(Fpath);   
     while(reader.Read()) 
     { 
      if(reader.NodeType==XmlNodeType.Element)  
      { 
       if(reader.LocalName== "item ") 
       {  
        while(reader.Read()) 
        { 
         if(reader.NodeType==XmlNodeType.Element)  
         { 
           switch(reader.Name) 
           { 
            case  "message ": 
             Response.Write(reader.ReadElementString()); 
             Response.Write( ": "); 
             continue; 
            case  "submenu ": 
             Response.Write(reader.ReadElementString()); 
             Response.Write( ": "); 
             continue; 
            case  "u ": 
             Response.Write(reader.ReadElementString()); 
             Response.Write( " <br>  "); 
             break;           
           }       
                }  
        }       
       }  
      }     
     }    
    } 
    finally{ 
     if(reader!=null)  
     reader.Close();  
     }      
 使用XmlNodeReader     
             XmlNodeReader reader=null;    
    try 
 { 
     string Fpath=Server.MapPath( "menu.xml "); 
     XmlDocument doc=new XmlDocument();       
     doc.Load(Fpath);           
     reader=new XmlNodeReader(doc); 
    if (reader.HasAttributes) 
    { 
     for (int i = 0; i  < reader.AttributeCount; i++) 
     { 
      reader.MoveToAttribute(i); 
      //Response.Write(reader.Name); 
      if(reader.Name== "value ") 
      { 
       Response.Write( ": "); 
       Response.Write(reader.Value); 
      } 
      Response.Write( " <br>  "); 
     } 
    } 
 }   
    finally{ 
     if(reader!=null)  
     reader.Close();  
     }           
------解决方案--------------------using System; 
 using System.IO; 
 using System.Xml;   
 public class Sample {   
   private const String filename =  "items.xml ";   
   public static void Main() {     
      XmlTextReader reader = null;   
      try {          
         // Load the reader with the data file and ignore all white space nodes.          
         reader = new XmlTextReader(filename); 
         reader.WhitespaceHandling = WhitespaceHandling.None;   
         // Parse the file and display each of the nodes. 
         while (reader.Read()) { 
            switch (reader.NodeType) { 
              case XmlNodeType.Element: 
                Console.Write( " <{0}>  &