<?xml version="1.0" encoding="utf-8" ?> 
- <response>
- <TAG>
  <tagid>105463687068</tagid> 
  <mac>00:18:8E:20:27:9C</mac> 
  <type>t301b</type> 
  <createdon>2009-05-19 17:27:16+0800</createdon> 
  <serialnumber>301B-0850-10141</serialnumber> 
  <swversion>1.1.0.50</swversion> 
  <name /> 
  <profile>slow</profile> 
  <custom>279c</custom> 
  <taggroupid>196</taggroupid> 
  <taggroupid>325</taggroupid> 
  <taggroupid>123</taggroupid> 
  <taggroupid>132</taggroupid> 
  <taggroupid>321</taggroupid> 
  <attributekey>defaultGroup</attributekey> 
  <attributevalue>325</attributevalue> 
  <pending>false</pending> 
  </TAG>
  </response>
怎么样得到这里面所有的taggroupid的值?

解决方案 »

  1.   


    using System.Xml;private List<string> GetTagGroupIdList(string xmlfilePath)
    {
        XmlTextReader textReader = null;
        List<string> listStr = new List<string>();    try
        {
            textReader = new XmlTextReader(xmlfilePath);        while (textReader.Read())
            {
                if (textReader.NodeType == XmlNodeType.Element && textReader.IsStartElement())
                {
                    if (textReader.Name == "taggroupid")
                    {
                        listStr.Add(textReader.ReadInnerXml());
                    }
                 }
             }         return listStr;
        }
        catch
        {
            textReader.Close();
            return null;
        }
    }
      

  2.   

    //读节点1----------------------------------------------------------------
    // XmlTextReader tr=new XmlTextReader("books.xml");
    // while(tr.Read())
    // {
    // if(tr.NodeType==XmlNodeType.Text)
    // listBox1.Items.Add(tr.Value);
    // }
    //----------------------------------------------------------------------
    //读属性
    FileStream fs=new FileStream("books.xml",FileMode.Open);
    XmlTextReader tr=new XmlTextReader(fs);
    while(tr.Read())
    {
    if(tr.MoveToContent()==XmlNodeType.Element)
    {

    for(int i=0;i<tr.AttributeCount;i++)
    {
    listBox1.Items.Add(tr.GetAttribute(i));
    }
    }

    }
    //读节点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 }
    //----------------------------------------------------------------------
      

  3.   

    楼上得可以
      不过一般用dom读的比较好。
      

  4.   

    对XML的操作 接触得有点少    我顶了   学习啊
      

  5.   

    XmlDocument xml=new XmlDocument();
    xml.LoadX("文件");
    XmlNodeList nodeList=xml.SelectNodeList("response/tag/taggroupid");
    foreach(Node n in nodeList){
     String t=node.FirstChild.Value;
    }
      

  6.   

    太简单了DataSet ds_xml.ReadXml(path + @"\SystemKey.xml");
    string ss="";
    foreach (DataTable d in ds_xml.Tables)
    {
        if (d.TableName == "taggroupid" && d.Rows.Count > 0)
        {
    foreach (DataRows row in d.Rows)
    {
     ss+=row["taggroupid_Text"].ToString()
    }
        }
    }messgebox.show(ss);
      

  7.   

    DataSet ds_xml=new DataSet(); ds_xml.ReadXml(path + @"\SystemKey.xml"); 写漏了
      

  8.   

     XmlDocument xmlDocument = new XmlDocument();
                xmlDocument.Load(@"F:\SDK\XML\XML\XMLFile2.xml");//改成你文件的路径            XmlNodeList xmlNodeList=xmlDocument.SelectNodes("response/TAG/taggroupid[text()]");            for (int i = 0; i < xmlNodeList.Count; i++)
                {
                   string str= xmlNodeList.Item(i).InnerText;
                }
      

  9.   

            public List<string> ParseFile(string fileName)
            {
                List<string> strList = new List<string>();
                XmlDocument doc = new XmlDocument();
                try
                {
                    doc.Load(fileName);
                    XmlNodeList TAGNode = doc.SelectNodes("response/TAG/taggroupid");
                    foreach (XmlNode node in TAGNode)
                    {
                        strList.Add(node.InnerText);
                    }
                }
                catch (Exception ex)
                {
                }
                return strList;
            }