新手请教:如何把SQL server的一个表中的数据写成XML。 因为是一个表中的3列,不知道怎么用DataSet里的DataRelation类(只适用于多个表之间?)把列和列建立联系。例如:我不用DataRelation直接把我数据库一个表的3列ABC,XYZ,year写成<NewDataSet>
<DataTable>
<ABC>9821</ABC>
<XYZ>8213<XYZ>
<year>1999</year>
</DataTable>
<DataTable>
<ABC>7721</ABC>
<XYZ>1213<XYZ>
<year>2000</year>
</DataTable>
</NewDataSet>请问如何写成以下格式,它和上面的格式有什么不同?<NewDataSet>
<DataTable year="1999" ABC="9821" XYZ="8213" />
<DataTable year="2000" ABC="7721" XYZ="1213" />
</NewDataSet>十分感谢!

解决方案 »

  1.   

    首先你要知道在XML中什么是属性什么是节点参考一下
    http://www.cnblogs.com/pbwf/archive/2006/03/31/363891.html当然你也可以直接用DataSet的自带方法直接转成XML
      

  2.   

    先了解元素节点和属性节点的区别    DataSet ds = new DataSet();
       //填充DataSet数据
        ds.WriteXml("1.xml");
      

  3.   


    谢谢热心的楼上.按照文章的意思,我需要的是
    <Employees>
      <Node genre="李赞红" ISBN="2-3631-4" title="CS从入门到精通" author="候捷" />
    </Employee>不过文中没有提到?? 不明白...
      

  4.   


    请问啥区别? 填充DataSet数据 ...?
      

  5.   

    怎么会没提到
    仔细看看他的SourceXmlElement xe1=xmldoc.CreateElement("Node");//创建一个<Node>节点
    xe1.SetAttribute("genre","李赞红");//设置该节点genre属性
    xe1.SetAttribute("ISBN","2-3631-4");//设置该节点ISBN属性这不就是么?
      

  6.   

    估计直接用dataset的相关方法写出你要求的格式的xml文件比较困难,
    具体能不能不清楚,不过一直以来用WriteXml写出的xml文件都是把数据库字段作为节点来输出的 而不是属性。如果要达到你要求的效果 ,觉得不妨参照上面几个帖子url中记述的方式 自己重新创建一个xml文件
    然后循环遍历dataset中的所有数据 然后一条一条的把数据以你要求的格式输出成为xml文件。
    只是这样的话比起WriteXml来效率应该有所损失。