XML文件具体内容如下:
<?xml version="1.0"?>
<MailList>
  <Mail>
    <From>&lt;[email protected]&gt;</From>
    <Subject>主题wenzi123</Subject>
    <Date>2009年4月3日13:45:08</Date>
    <HasAttachment>true</HasAttachment>
    <IsRead>false</IsRead>
  </Mail>
  <Mail>
    <From>"お雁守剑客あ" &lt;[email protected]&gt;</From>
    <Subject>中文zimu123</Subject>
    <Date>2009年4月3日14:08:55</Date>
    <HasAttachment>true</HasAttachment>
    <IsRead>false</IsRead>
  </Mail>
  <Mail>
    <From>"liudanking" &lt;[email protected]&gt;</From>
    <Subject>文字及附件测试wezi123</Subject>
    <Date>2009年4月4日9:44:45</Date>
    <HasAttachment>true</HasAttachment>
    <IsRead>false</IsRead>
  </Mail>
  <Mail>
    <From>&lt;[email protected]&gt;</From>
    <Subject>主题</Subject>
    <Date>2009年4月4日9:52:44</Date>
    <HasAttachment>true</HasAttachment>
    <IsRead>false</IsRead>
  </Mail>
</MailList>我是这样写的代码:
            DataSet ds = new DataSet();
            string xmlpath = @"C:\1.XML";
            ds.ReadXml(xmlpath);

前台放了一个datagridview,里面的“发信人”对于<from>里面的内容[/color[color=#FF0000]],“主题”对应<subject>里面的内容……
请问我怎才能把这个xml文件读到dataset的table里面,然后直接databind就实现这些数据在datagridview显示呢?

解决方案 »

  1.   

    xml读取dataset:public static DataSet ReadXML(string descDirectory, string fileName)
            {
                XmlDataDocument document = new XmlDataDocument();
                document.DataSet.ReadXml(descDirectory + @"\" + fileName + ".xml");
                return document.DataSet;        }dataset.Tables["Mail"]应该就是你需要的datatable了
      

  2.   

    在datagridview里设置绑定数据字段
      

  3.   

    你读到datatable里边试试,然后再把datatable加入到 dataset中
      

  4.   

    再有一种可能 ,你直接从数据库中读出一个表,然后转换成xml你看看那个文件的格式
    你的xml 可能是格式不符合