<?xml version="1.0"?>
<persons>
  <person>
    <name>zhangsan</name>
    <age>10</age>
  </person>
  <person>
    <name>lisi</name>
    <age>14</age>
  </person>
</presons>
假如有一个这样的XML文件如何能把里面的记录一条条读出来!(C#)
小弟初学,请给予指点,最好能贴上一段代码?谢谢你的回答!

解决方案 »

  1.   

    DataSet ds = new DataSet();
    ds.readxml("xxx");然后遍历table的row就可以了
      

  2.   

    呵呵,打的急,我标题都打错了!更正:XML
      

  3.   

    XmlDocument xmldoc=new XmlDocument();
    xmldoc.Load(文件路径);
    XmlNodeList objlist=xmldoc.SelectNodes("//person");
    for (int i = 0; i <objlist.Count ; i++)
    {
       string projItemName = objlist.Item(i).SelectSingleNode("name").InnerText;
        .......
    }
    就这样做,你试哈
      

  4.   

    你的这个XML文件有错误改成这样
    <?xml version="1.0" encoding="utf-8" ?>
    <persons>
      <person>
        <name>zhangsan</name>
        <age>10</age>
      </person>
      <person>
        <name>lisi</name>
        <age>14</age>
      </person>
    </persons>
    保存为:demo.xml,知道应该方哪里吧.呵呵
    把下面的放到你的Main方法中.
    DataSet ds = new DataSet();
                ds.ReadXml(@"../../demo.xml");
                DataTable dt = ds.Tables[0];
                foreach (DataColumn dc in dt.Columns)
                { 
                    Console.Write(string.Format("{0,10}",dc.ToString()));
                }
                Console.WriteLine();
                foreach (DataRow dr in dt.Rows)
                {
                    for (int i = 0; i < dt.Columns.Count; i++)
                    {
                        Console.Write(string.Format("{0,10}", dr[i].ToString()));
                    }
                    Console.WriteLine();
                }
                Console.WriteLine();这种方法对待这种最"标准"的XML文件好用,要是表套表的就完蛋了.还是学习用XPath查询XML文件吧
      

  5.   

    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Xml; // 别忘了加上这个命名空间public partial class Default2 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            XmlDocument doc = new XmlDocument();
            string strName = Server.MapPath("~/") + "new.xml"; // new.xml是你的XML文件名
            doc.Load(strName);
            for (int i = 0; i < doc.DocumentElement.ChildNodes.Count; i++)
            {
                for (int j = 0; j < doc.DocumentElement.ChildNodes[i].ChildNodes.Count; j++)
                {
                    Response.Write(doc.DocumentElement.ChildNodes[i].ChildNodes[j].InnerText);
                    Response.Write("<br/>");
                }
                Response.Write("<br/>");
            }
        }
    }