<?xml version="1.0" encoding="utf-8" ?> 
 <rsp>
  <totalResults>160</totalResults> 
 <item>
 <iid>
 <![CDATA[ bd60c1ff24e6726f59173d118a07b90c
  ]]> 
  </iid>
 <title>
 <![CDATA[ 字段内容1
  ]]> 
  </title>
  </item>
 <item>
 <iid>
 <![CDATA[ 6d0e1159b20a4d49867872eb52ca3b0d
  ]]> 
  </iid>
 <title>
 <![CDATA[ 字段内容2
  ]]> 
  </title>
  </item>
 <item>
 <iid>
 <![CDATA[ 11babbce6cdf43653b29bf4e9b7754d3
  ]]> 
  </iid>
 <title>
 <![CDATA[ 字段内容3
  ]]> 
  </title>
  </item>
  </rsp>
 <!-- top43.cm1
  --> 以上是三条数据,每条记录包括iid和title两个字段值,如何取到dataset里面之后循环读出数据来处理?

解决方案 »

  1.   

      DataSet ds = new DataSet();
                ds.ReadXml(Server.MapPath(@".\a.xml"));

    遍历xml节点,添加到dataset
    CDATA由doc.CreateCDataSection创建
      

  2.   

    最笨的就是用 XmlDocumentDataTable dt = new DataTable();
    dt.Columns.Add(new DataColumn("iid", typeof(string)));
    dt.Columns.Add(new DataColumn("title", typeof(string)));string xml = ...
    XmlDocument xmlDoc = new XmlDocument();
    xmlDoc.Load(xml);
    foreach(XmlNode n in xmlDoc.SelectNodes("//item")) {
    dt.Rows.Add(new object[]{ n.ChildNodes[0].Value, n.ChildNodes[1].Value});
    }
      

  3.   

    //dt.Rows.Add(new object[]{ n.ChildNodes[0].Value, n.ChildNodes[1].Value}); 
    >>>
    dt.Rows.Add(new object[]{ ((XmlElement)n.ChildNodes[0])InnerText, ((XmlElement)n.ChildNodes[1])InnerText});