数据结构是这样的:
  <Province Code="220000" Name="吉林省">
    <City Code="220101" Name="长春"></City>
    <City Code="220201" Name="吉林"></City>
  </Province>
  <Province Code="230000" Name="黑龙江省">
    <City Code="230101" Name="哈尔滨"></City>
    <City Code="230201" Name="齐齐哈尔"></City>
  </Province>通过参数,寻找到相关市代码,然后用dataset读取。请问如何通过dataset读取xml节点下的内容?

解决方案 »

  1.   

    用System.Xml命名空间下的类读取XML,不要用DataSet
      

  2.   

    一个比较好的方法是,先确定XML文件的Schema,然后使用xsd.exe读取这个Schema生成C#类型,然后使用XML序列化读取这样是强类型的
      

  3.   

    好像很麻烦的样子,我只想返回一个dataset,怎么读取不管了,有什么方法吗?
      

  4.   

    FileStream file=new FileStream(filename,FileMode.Open,FileAccess.Read);
    DataSet ds=new DataSet();
    ds.ReadXml(file);
      

  5.   

    DataSet ds = new DataSet();
    ds = ReadXml(Server.MapPath(xmlFileUrl));
      

  6.   

    DataSet ds = new DataSet();
    ds.ReadXml(Server.MapPath(xmlFileUrl));
      

  7.   

    我来给个具体的吧,比如你的aspx页面和xml文件再一个文件夹子下面,例如你的xml文件中放了2条数据吧,如下: 每一条有id,name,和sex三个熟悉,
    <?xml version="1.0" encoding="utf-8" ?>
    <NewDataSet>
    <student>
    <id>1</id>
    <name>chris</name>
    <sex>man</sex>
    </student>
    <student>
    <id>2 </id>
    <name>jiajia</name>
    <sex>woman</sex>
    </student>
    </NewDataSet>
    然后再用datagrid把他们读出来,你就再page_load中写
    private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
    FileStream fs=new FileStream(Server.MapPath("XMLFile.xml"),FileMode.Open,FileAccess.Read);
    StreamReader sr=new StreamReader(fs);
    DataSet ds=new DataSet();
    ds.ReadXml(sr);
    this.DataGrid1.DataSource=ds.Tables[0];
    this.DataGrid1.DataBind();
    }
    就ok了! 如何? 我也是最近才学net的,原来是做java的,对net很感兴趣,我们一起努力吧
      

  8.   

    <Province Code="220000" Name="吉林省">
        <City Code="220101" Name="长春"></City>
        <City Code="220201" Name="吉林"></City>
      </Province>
      <Province Code="230000" Name="黑龙江省">
        <City Code="230101" Name="哈尔滨"></City>
        <City Code="230201" Name="齐齐哈尔"></City>
      </Province>
    比如说,我传一个参数“吉林省”,我想读取“吉林省”节点下的内容("长春"和"吉林")然后返回一个dataset,中间处理我就不清楚了?求解?