如果xml为一层表,如:
<?xml version="1.0" standalone="yes"?>
<document>
<水磨石楼面>
  <zf>表面草酸处理后打腊上光</zf>
  <hd>0</hd>
  <rz>0</rz>
  <zl>0.02</zl>
</水磨石楼面>
<水磨石楼面>
  <zf>厚水泥石粒水磨石层面</zf>
  <hd>15</hd>
  <rz>20</rz>
  <zl>0.30</zl>
</水磨石楼面>
<人造石楼面>
  <zf>厚人造石面层</zf>
  <hd>10</hd>
  <rz>28</rz>
  <zl>0.28</zl>
</人造石楼面>
<人造石楼面>
  <zf>厚干硬性水泥沙浆粘合层</zf>
  <hd>20</hd>
  <rz>20</rz>
  <zl>0.40</zl>
</人造石楼面>
</document>
那么用ds1.readxml("xx.xml")可以很方便地把xml文件的内容读到ds1(dataset)中
如果xml文件为表中套表的结构,如:
<?xml version="1.0" standalone="yes"?>
<document>
<楼面>
 <水磨石楼面>
  <zf>表面草酸处理后打腊上光</zf>
  <hd>0</hd>
  <rz>0</rz>
  <zl>0.02</zl>
 </水磨石楼面>
 <水磨石楼面>
  <zf>厚水泥石粒水磨石层面</zf>
  <hd>15</hd>
  <rz>20</rz>
  <zl>0.30</zl>
 </水磨石楼面>
 <人造石楼面>
  <zf>厚人造石面层</zf>
  <hd>10</hd>
  <rz>28</rz>
  <zl>0.28</zl>
 </人造石楼面>
 <人造石楼面>
  <zf>厚干硬性水泥沙浆粘合层</zf>
  <hd>20</hd>
  <rz>20</rz>
  <zl>0.40</zl>
 </人造石楼面>
 </楼面>
........
</document>
我怎么才能把xml文件的内容读到dataset中呢????

解决方案 »

  1.   

    DataSet dataset = new dataset();
    dataset.ReadXml(xml的文件路径);
      

  2.   

    直接DataTable也可以:string filename="你的文件位置";
    DataTable dt=new DataTable();
    dt.ReadXml(filename);
      

  3.   

    请上面二位朋友看清我的问题,
       DataSet dataset = new dataset();
       dataset.ReadXml(xml的文件路径);
    上面方法读第一个xml没问题,我问的是如何读第二个xml文件
    请指教
      

  4.   

    继续读:
          DataSet dataset = new dataset();
          dataset.ReadXml(file1);
          dataset.ReadXml(file2);多个个xml文件读到dataset,就类似读多个数据库表到dataset。
      

  5.   

    sorry,看来是我没把问题讲清楚  在读第一个xml中,存放了二个表:tables["水磨石楼面"]和tables["人造石楼面"],
    用dataset.readxml(file1)可以把它们读到数据集中。在读第二个xml中,上述二个表被放到了<楼面></楼面>中,
    那么,我如何还能把这二个表读到数据集中???该数据集是<楼面></楼面>中的内容但不包括<楼面></楼面>
    ??????????????
      

  6.   

    汗死,
    建议你直接利用xslt把这个xml转化为以前的xml或者你有理气的话,直接将这个东西写代码读进去就好了,也不麻烦