<vList>
<v id="1" name="a" />
<v id="2" name="b" />
<v id="3" name="c" />
</vList>            XmlReader xmlReader = XmlReader.Create("c:/test.xml");
            if (xmlReader.ReadToFollowing("vList"))
            {
                //
                //if (xmlReader.MoveToAttribute("name"))
                //{
                //    MessageBox.Show(xmlReader.ReadContentAsString());
                //}            }求教应该怎么写...MSDN看得好混乱....

解决方案 »

  1.   

     public Dictionary<string,string> ReadXmlLog(string elementname)
            {
                XmlReader reader = null;
                XmlDocument document = new XmlDocument();
                try
                {
                    reader = XmlReader.Create(this.xmlfilepath+this.xmlfilename);
                    document.Load(reader);
                    XmlNamespaceManager nsmgr = new XmlNamespaceManager(document.NameTable);
                    string xpath = "descendant::"+elementname;
                    XmlNodeList nodelist = document.SelectSingleNode(xpath, nsmgr).ChildNodes;
                    foreach (XmlNode xmlnode in nodelist)
                    {
                        if (((XmlElement)xmlnode).HasAttributes)
                        {
                            xmltemp.Add(xmlnode.Attributes[0].Value, xmlnode.InnerText);
                        }
                    }
                }
                catch (FileNotFoundException ex)
                {
                    //不做
                }
                finally
                {
                    if (reader != null)
                    {
                        reader.Close(); reader = null;
                    }
                }
                return xmltemp;
            }
      

  2.   

    private void button1_Click(object sender, System.EventArgs e)
    {
    FileStream fs=new FileStream("books.xml",FileMode.Open);
    XmlTextReader tr=new XmlTextReader(fs);
    while(!tr.EOF)
    {
    if(tr.MoveToContent()==XmlNodeType.Element&&tr.Name=="title")

    {
    //从元素中读取文本数据
    //listBox1.Items.Add(tr.ReadElementString());//自动定位到下一个节点
    LoadList(tr);//忽略异常

    }
    else
    {
    tr.Read();
    }
    }
    }
    private void LoadList(XmlReader reader)
    {
    try
    {
    listBox1.Items.Add(reader.ReadElementString());//自动定位到下一个节点
    }
    catch(XmlException er){}//ignore }