把XML读入XmlDocumnet,遍历XmlDocument的节点,
显示节点名称:显示节点的值linkname里节点的个数变化没有关系。

解决方案 »

  1.   

    XmlDocument doc = new XmlDocument();
                doc.Load(@"c:\t.xml");            XmlNodeList xnl = doc.SelectNodes("/linkname/*");            foreach (XmlNode n in xnl)
                {
                    MessageBox.Show(n.Name + ":" + n.InnerText);
                }
      

  2.   

    XmlDocument   xmlDoc=new   XmlDocument();   
            xmlDoc.Load("2.xml");   
            XmlNode   root=xmlDoc.SelectSingleNode("linkname");
                foreach (XmlNode n in xnl)
                {
                    textbox1.text+=xnl.name;
                }
      

  3.   

    对,跟你的节点有多少个元素没有关系,你遍历就行了:            XmlDocument doc = new XmlDocument();
                doc.Load("test1.xml");            XmlNodeList list = doc.SelectNodes("//linkname");//得到所有的linkname节点            foreach (XmlNode node in list)
                {//遍历所有的linkname节点
                    foreach (XmlNode subNode in node.ChildNodes)
                    {//遍历每个linkname节点的字节点
                        string strName = subNode.Name;          //节点名
                        string strValue = subNode.InnerText;    //节点值
                    }
                }
      

  4.   

    最快的方法XMLREADER
    string configPath = System.IO.Path.GetFullPath(@"Win.config");
    System.Xml.XmlTextReader ConfigXTR = new System.Xml.XmlTextReader(configPath); while ( ConfigXTR.Read() )
    {
    //定位到配置节点
    if (ConfigXTR.NodeType == XmlNodeType.Element && ConfigXTR.Name == "appSettings")
    {
    while (ConfigXTR.Read())
    {
    //结束时退出读取
    if (ConfigXTR.NodeType == XmlNodeType.EndElement && ConfigXTR.Name == "appSettings")
    {
    break;
    } if (ConfigXTR.NodeType == XmlNodeType.Element && ConfigXTR.Name == "add")
    {
    //定位到属性
    ConfigXTR.MoveToAttribute("key");
    switch ( ConfigXTR.Value )
    {
    case "DataBaseName":
    {
    ConfigXTR.MoveToAttribute("value");
    m_connType.DataBaseName = ConfigXTR.Value;
    break;
    }
    case "UserID":
    {
    ConfigXTR.MoveToAttribute("value");
    m_connType.UserID = ConfigXTR.Value;
    break;
    }
    case "Password":
    {
    ConfigXTR.MoveToAttribute("value");
    m_connType.Password = ConfigXTR.Value;
    break;
    }
    case "IntegratedSecurity":
    {
    ConfigXTR.MoveToAttribute("value"); if ( ConfigXTR.Value.ToUpper() == "FALSE" )
    m_connType.IntegratedSecurity = false;
    else
    m_connType.IntegratedSecurity = true;
    break;
    }
    case "ServerName":
    {
    ConfigXTR.MoveToAttribute("value");
    m_connType.ServerName = ConfigXTR.Value;
    break;
    }
    case "ConnectTimeout":
    {
    ConfigXTR.MoveToAttribute("value");
    m_connType.ConnectTimeout = Convert.ToInt32(ConfigXTR.Value);
    break;
    }
    default:
    break;
    }
    }
    }
    }
    }
    }
    自己理解,修改一下吧