XML文件如下
- <TABLE width="90%" border="1" align="center" cellpadding="3" cellspacing="0" bordercolorlight="#999999" bordercolordark="#ffffff">
- <TBODY>
- <TR class="bor_4">
  <td width="17%" height="22" align="right" valign="middle" nowrap="" class="title2">发布时间:</td> 
  <td colspan="3" CLASS="h12">2010-02-23 22:40</td> 
  </TR>
- <TR>
  <TD align="right" class="title2">路线编号:</TD> 
  <TD colspan="3" CLASS="h12">G020</TD> 
  </TR>
- <TR>
  <TD align="right" class="title2">受阻路段:</TD> 
  <TD colspan="3" CLASS="h12">京沪高速</TD> 
  </TR>
- <TR>
  <TD align="right" class="title2">阻断时间:</TD> 
  <TD CLASS="h12">2010-02-23 22:03</TD> 
  <TD align="right" class="title2">预计恢复时间:</TD> 
  <TD CLASS="h12">2010-02-24 12:00</TD> 
  </TR>
  </TBODY>
  </TABLE>
我要取得每个TD的值,该怎么取得?
先用 XmlNodeList xmlNodeList = xmlDoc.DocumentElement.GetElementsByTagName("TABLE");
取得Table标记符
后面要定位到TR。然后再是每个TR里的TD
这个怎么定位的?

解决方案 »

  1.   

    xmlNodeList .childnodes[0].childnodes[0]代表第一个TR
      

  2.   

    如楼上,获得点的集合后用 foreach 依次取就行了,
      

  3.   

    string str = null;
                XmlDocument xmlDocument = new XmlDocument();
                xmlDocument.Load("1.xml");
                XmlNodeList nodelist;
                XmlElement root = xmlDocument.DocumentElement;
                nodelist = root.GetElementsByTagName("TD");
                for (int i = 0; i < nodelist.Count; i++)
                {
                    if (nodelist.Count.ToString() != null)
                    {
                        str += nodelist.Item(i).InnerText;
                    }
                }
      

  4.   

    XmlDocument xml = new XmlDocument();
    xml.Load(Path.Combine(Application.StartupPath, "xxx.xml"));
    XmlNodeList xn = xml.SelectNodes("TABLE/TBODY/TR");
    DataTable xmltable = new DataTable();
    //定义表标题
    foreach (XmlNode x in xn)
    {
        foreach (XmlNode xx in x.ChildNodes)
        {
            DataColumn col = new DataColumn(xx.Name.ToString()+(new Random()).Next(1,1000));
            xmltable.Columns.Add(col);
        }
          break;
        }
            foreach (XmlNode x in xn)
          {
              DataRow dr = xmltable.NewRow();
              for (int i = 0; i < x.ChildNodes.Count; i++)
            {
                XmlNode xx = x.SelectSingleNode(xmltable.Columns.ToString());
                dr = xx.InnerText;
            }
            xmltable.Rows.Add(dr);
    }
    //得到对应节点
    dataGridView1.DataSource = xmltable;