如何将xml文件映射成一个实体类?,反射可以吗?如何实现?
如:有xml文件
<?xml version="1.0" encoding="utf-8" ?>
<Students>
  <Stu>
    <Name>aaa</Name>
    <Age>33</Age>
  </Stu>  
</Students>
将它映射成实体时有属性Name和Age,如果将xml文件中的Name改为Names,相应的实体属性为Names,请教高手如何实现?

解决方案 »

  1.   

    我的做法:
    1. 得到表结构;
    2. 写个工具,两个文体框.一个命名空间,一个表名称.
    3. 用流自己拼个.cs代码吧(这个方法可以单提出来,生成啥文本文件都可以).
       碰到命名空间和表名的地方,用对应的文本框的值来替换;
    4. 实体类都继承一个抽象类,主键在它里面.其它实体类不加主键、私有变量首字母小写(循环判断).
       这样做的好处是可以实现多态.不必加一个实体类,就多写一个case语句.
       代码我就不写了,自己写吧.
      

  2.   

    用DataTable的ReadXml方法可以把XML的数据读到一个DataTable的实例里
    这样可以了不用DataTable的ReadXml方法可以把XML的数据读到一个DataTable的实例里
    这样可以了不
      

  3.   

    先获取xml到dataset,再遍历dataset通过构造函数生成student实体类
    添加到List<Student> lst new=List<Student>();
    public class Student
    {}
      

  4.   

    using System.Data;
    using System;
    public DataSet GetDefaultDataI()
    {
    // TODO:  添加 实现
    DataSet ds = new DataSet();
    string filename = this.m_objParam.SystemPath + @"Conf\DefaultSetI.Xml"; if (!System.IO.File.Exists(filename))
    {
    return null;
    }
    else
    {
    ds.ReadXml(filename);
    return ds;
    }
    } public void SaveDefaultDataI(DataSet tmp)
    {
    // TODO:  添加 实现
    DataSet ds = tmp as DataSet;
    string filename = this.m_objParam.SystemPath + @"Conf\DefaultSetI.Xml";
    ds.WriteXml(filename);
    }
      

  5.   

    都还没有理解我的意识。
    就说上面的那个xml,要把它映射成一个类,但是这个类在没有映射前是不存在的,映射后即使存在但也是看不到具体的代码的,但可以和普通的类一样可以用!请问可以实现不?