如何将数据库数据导成如下格式的xml文件
<?xml version="1.0" standalone="yes"?>
<DATAPACKET Version="2.0">
  <METADATA>
    <FIELDS>
      <FIELD attrname="CURENO" fieldtype="string" required="true" WIDTH="10"/>
      <FIELD attrname="ID" fieldtype="fixed" required="true" WIDTH="5"/>
      <FIELD attrname="CONTENT" fieldtype="string" WIDTH="2500"/>
      <FIELD attrname="DOCTORCODE" fieldtype="string" WIDTH="10"/>
      <FIELD attrname="DOCTORNAME" fieldtype="string" WIDTH="30"/>
      <FIELD attrname="OPTIME" fieldtype="string" WIDTH="10"/>
      <FIELD attrname="STATE" fieldtype="fixed" WIDTH="2"/>
      <FIELD attrname="SHOWID" fieldtype="string" WIDTH="41"/>
    </FIELDS>
    <PARAMS DEFAULT_ORDER="1 2" LCID="0"/>
  </METADATA>
  <ROWDATA>
    <ROW CURENO="569771" ID="1." CONTENT="胆囊息肉&#013;&#010;&#013;&#010;建议:&#013;&#010;    随访胆囊超声" DOCTORCODE="212" DOCTORNAME="管士明" OPTIME="2010-03-29" SHOWID="1."/>
    <ROW CURENO="569771" ID="2." CONTENT="右眼近视" DOCTORCODE="212" DOCTORNAME="管士明" OPTIME="2010-03-29" SHOWID="2."/>
    <ROW CURENO="569771" ID="3." CONTENT="混合痔" DOCTORCODE="212" DOCTORNAME="管士明" OPTIME="2010-03-29" SHOWID="3."/>
    <ROW CURENO="569771" ID="4." CONTENT="乳腺增生&#013;&#010;建议:清淡饮食&#013;&#010;跟踪随访&#013;&#010;近期乳腺彩超检查&#013;&#010;禁用保健品&#013;&#010;乳腺自我检查每月一次" DOCTORCODE="212" DOCTORNAME="管士明" OPTIME="2010-03-29" SHOWID="4."/>
    <ROW CURENO="569772" ID="1." CONTENT="内科建议:&#013;&#010;定期随访肝脏彩超" DOCTORCODE="114" DOCTORNAME="王志清" OPTIME="2010-03-29" SHOWID="1."/>
    <ROW CURENO="569772" ID="2." CONTENT="屈光不正&#013;&#010;建议:视野检查" DOCTORCODE="114" DOCTORNAME="王志清" OPTIME="2010-03-29" SHOWID="2."/>
    <ROW CURENO="569772" ID="3." CONTENT="乳腺增生&#013;&#010;建议:定期随访&#013;&#010;近期乳腺彩超检查&#013;&#010;慎用保健品&#013;&#010;乳腺自我检查每月一次" DOCTORCODE="114" DOCTORNAME="王志清" OPTIME="2010-03-29" SHOWID="3."/>
    <ROW CURENO="569773" ID="1." CONTENT="高胆固醇血症,高低密度脂蛋白血症&#013;&#010;&#013;&#010;建议:您要改变生活方式:增加体育运动,限制钠盐(小于6g/日)、脂肪摄入,增加蔬菜&#013;&#010;水果,补充钾钙。保持正常体重,体重指数小于24以下。保持心里平衡和乐观心态,注意&#013;&#010;休息。&#013;&#010;      多饮水,随访血常规。" DOCTORCODE="197" DOCTORNAME="万鹏程" OPTIME="2010-03-29" SHOWID="1."/>
    <ROW CURENO="569773" ID="2." CONTENT="小叶增生伴结节&#013;&#010;建议:清淡饮食&#013;&#010;定期随访&#013;&#010;近期乳腺彩超检查&#013;&#010;近期钼靶摄片检查" DOCTORCODE="197" DOCTORNAME="万鹏程" OPTIME="2010-03-29" SHOWID="2."/>
    <ROW CURENO="569775" ID="1." CONTENT="慢性胆囊炎,胆囊息肉&#013;&#010;&#013;&#010;建议:您患有慢性胆囊炎,多由结石、慢性感染、化学刺激及急性胆囊炎反复迁延所致。&#013;&#010;可无症状,也可腹痛、嗳气、厌油腻食物、食欲不振、上腹饱胀等症状。平时注意低脂饮&#013;&#010;食,可服中西利胆药物,反复发作有胆结石者应手术治疗。&#013;&#010;    胆囊息肉:以胆固醇息肉为多,是一种良性病变。要规律饮食,避免不食早餐,少食&#013;&#010;高脂肪、高胆固醇饮食,多饮水,每日1000-2000ml。定期超声检查,息肉大于10mm时应&#013;&#010;肝胆外科治疗。" DOCTORCODE="197" DOCTORNAME="万鹏程" OPTIME="2010-03-29" SHOWID="1."/>
    <ROW CURENO="569775" ID="2." CONTENT="慢性咽炎" DOCTORCODE="197" DOCTORNAME="万鹏程" OPTIME="2010-03-29" SHOWID="2."/>
    <ROW CURENO="569775" ID="3." CONTENT="单纯性小叶增生&#013;&#010;建议:清淡饮食&#013;&#010;定期随访" DOCTORCODE="197" DOCTORNAME="万鹏程" OPTIME="2010-03-29" SHOWID="3."/>
    <ROW CURENO="569776" ID="1." CONTENT="(内科检查)未见异常" DOCTORCODE="1256" DOCTORNAME="李金鹆" OPTIME="2010-03-29" SHOWID="1."/>
    <ROW CURENO="569777" ID="1." CONTENT="右肾囊肿&#013;&#010;建议:&#013;&#010;肾囊肿:肾囊肿病因未明,患者多无症状,仅在体检时超声发现,随访肾脏超声及&#013;&#010;肾功能。&#013;&#010;&#013;&#010;复查尿常规" DOCTORCODE="1256" DOCTORNAME="李金鹆" OPTIME="2010-03-29" SHOWID="1."/>
    <ROW CURENO="569777" ID="2." CONTENT="慢性咽炎" DOCTORCODE="1256" DOCTORNAME="李金鹆" OPTIME="2010-03-29" SHOWID="2."/>
    <ROW CURENO="569777" ID="3." CONTENT="屈光不正&#013;&#010;慢性结膜炎&#013;&#010;建议:氧氟沙星眼液、环丙沙星眼液、氯霉素眼液" DOCTORCODE="1256" DOCTORNAME="李金鹆" OPTIME="2010-03-29" SHOWID="3."/>
    <ROW CURENO="569777" ID="4." CONTENT="混合痔" DOCTORCODE="1256" DOCTORNAME="李金鹆" OPTIME="2010-03-29" SHOWID="4."/>
    <ROW CURENO="569777" ID="5." CONTENT="单纯性小叶增生&#013;&#010;建议:定期随访&#013;&#010;近期乳腺彩超检查&#013;&#010;慎用保健品&#013;&#010;乳腺自我检查每月一次" DOCTORCODE="1256" DOCTORNAME="李金鹆" OPTIME="2010-03-29" SHOWID="5."/>
    <ROW CURENO="569778" ID="1." CONTENT="血小板偏高&#013;&#010;建议:&#013;&#010;定期复查血常规" DOCTORCODE="1256" DOCTORNAME="李金鹆" OPTIME="2010-03-29" SHOWID="1."/>
    <ROW CURENO="569778" ID="2." CONTENT="未见明显异常" DOCTORCODE="1256" DOCTORNAME="李金鹆" OPTIME="2010-03-29" SHOWID="2."/>
    <ROW CURENO="569778" ID="3." CONTENT="双眼屈光不正" DOCTORCODE="1256" DOCTORNAME="李金鹆" OPTIME="2010-03-29" SHOWID="3."/>
    <ROW CURENO="569778" ID="4." CONTENT="外痔" DOCTORCODE="1256" DOCTORNAME="李金鹆" OPTIME="2010-03-29" SHOWID="4."/>
    <ROW CURENO="569778" ID="5." CONTENT="单纯性小叶增生&#013;&#010;建议:定期随访&#013;&#010;近期乳腺彩超检查&#013;&#010;慎用保健品&#013;&#010;乳腺自我检查每月一次" DOCTORCODE="1256" DOCTORNAME="李金鹆" OPTIME="2010-03-29" SHOWID="5."/>
    <ROW CURENO="569779" ID="1." CONTENT="高胆固醇血症,高低密度脂蛋白血症&#013;&#010;高尿酸血症&#013;&#010;&#013;&#010;建议:&#013;&#010;     低脂饮食,适量运动,随访血脂、颈血管彩超&#013;&#010;     禁食动物内脏、海鲜、贝类、鱼汤、肉汤,不吃煎炸食物,不喝酒,少吃豆制品及&#013;&#010;菌类食品,减轻体重,每日饮水大于2000ml,选食各类蔬菜、水果、牛奶、苏打水等,碱&#013;&#010;化尿液,促进尿酸溶解排泄好,随访血尿酸、肾功能,预防痛风及肾损害&#013;&#010;     随访复查清洁中段尿常规" DOCTORCODE="212" DOCTORNAME="管士明" OPTIME="2010-03-29" SHOWID="1."/>
    <ROW CURENO="569779" ID="2." CONTENT="屈光不正&#013;&#010;慢性结膜炎&#013;&#010;建议:氧氟沙星眼液、环丙沙星眼液、氯霉素眼液" DOCTORCODE="212" DOCTORNAME="管士明" OPTIME="2010-03-29" SHOWID="2."/>
    <ROW CURENO="569779" ID="3." CONTENT="单纯性小叶增生&#013;&#010;建议:清淡饮食&#013;&#010;定期随访" DOCTORCODE="212" DOCTORNAME="管士明" OPTIME="2010-03-29" SHOWID="3."/>
    <ROW CURENO="569780" ID="1." CONTENT="左肾结石&#013;&#010;&#013;&#010;&#013;&#010;内科建议:&#013;&#010;肾结石:定期随访肾脏超声,建议充分饮水,最好饮用矿物质少的磁化水,使日尿&#013;&#010;量达2000ml。做尿液生化检查,根据尿液酸碱度、生化结果,合理安排饮食。直径&#013;&#010;小于0.6cm的光滑结石,无尿路梗阻或感染,可内科治疗。&#013;&#010;&#013;&#010;随访尿常规。&#013;&#010;&#013;&#010;等待CA242的报告。" DOCTORCODE="111" DOCTORNAME="仲怀琴" OPTIME="2010-03-29" SHOWID="1."/>
    <ROW CURENO="569780" ID="2." CONTENT="屈光不正" DOCTORCODE="111" DOCTORNAME="仲怀琴" OPTIME="2010-03-29" SHOWID="2."/>
    <ROW CURENO="569781" ID="1." CONTENT="预激综合症?&#013;&#010;左肾结石&#013;&#010;&#013;&#010;内科建议:&#013;&#010;必要时胃镜检查&#013;&#010;肾结石:您患有肾结石。结石系指一些晶体物质(如钙、草酸、尿酸、胱氨酸等)&#013;&#010;和有基质(某种蛋白、酸性粘多糖)在肾脏的异常聚积。平素尿量偏少,尿液酸碱度&#013;&#010;变化,尿中某些物质排出过多,尿路狭窄,感染,水质等因素都可促进结石的形成。&#013;&#010;建议你保证充分饮水,最好引用矿物质少的磁化水,使日尿量达2000ml。做尿液生化&#013;&#010;检查,根据尿液酸碱度、生化结果,合理安排饮食。可服中西药物排石、体外碎石及&#013;&#010;手术取石&#013;&#010;劳逸结合,随访心电图,心脏彩超检查,24小时动态心电图检查,心血管专科就诊" DOCTORCODE="114" DOCTORNAME="王志清" OPTIME="2010-03-29" SHOWID="1."/>
    <ROW CURENO="569781" ID="2." CONTENT="慢性咽炎" DOCTORCODE="114" DOCTORNAME="王志清" OPTIME="2010-03-29" SHOWID="2."/>
    <ROW CURENO="569781" ID="3." CONTENT="屈光不正" DOCTORCODE="114" DOCTORNAME="王志清" OPTIME="2010-03-29" SHOWID="3."/>
    <ROW CURENO="569782" ID="1." CONTENT="高胆固醇血症,高低密度脂蛋白血症&#013;&#010;胆囊内胆固醇结晶&#013;&#010;&#013;&#010;建议:&#013;&#010;     随访复查胆囊超声&#013;&#010;     低脂饮食,适量运动,随访血脂、颈血管彩超" DOCTORCODE="212" DOCTORNAME="管士明" OPTIME="2010-03-29" SHOWID="1."/>
    <ROW CURENO="569782" ID="2." CONTENT="慢性咽炎" DOCTORCODE="212" DOCTORNAME="管士明" OPTIME="2010-03-29" SHOWID="2."/>
    <ROW CURENO="569782" ID="3." CONTENT="屈光不正" DOCTORCODE="212" DOCTORNAME="管士明" OPTIME="2010-03-29" SHOWID="3."/>
    <ROW CURENO="569782" ID="4." CONTENT="乳腺增生&#013;&#010;建议:清淡饮食&#013;&#010;定期随访" DOCTORCODE="212" DOCTORNAME="管士明" OPTIME="2010-03-29" SHOWID="4."/>
    <ROW CURENO="569784" ID="1." CONTENT="混合性高脂血症&#013;&#010;碱性磷酸酶增高&#013;&#010;建议:&#013;&#010;复查尿常规&#013;&#010;&#013;&#010;高脂血症:低脂低热量饮食,控制油脂及动物脂肪类饮食的摄入,增加有氧运动,每日运&#013;&#010;动40-60分钟,消耗多余热量,必要时给予药物治疗,促进血脂的恢复。&#013;&#010;&#013;&#010;定期复查肝功能,肝脏彩超" DOCTORCODE="1256" DOCTORNAME="李金鹆" OPTIME="2010-03-29" SHOWID="1."/>
    <ROW CURENO="569784" ID="2." CONTENT="双眼屈光不正" DOCTORCODE="1256" DOCTORNAME="李金鹆" OPTIME="2010-03-29" SHOWID="2."/>
    <ROW CURENO="569786" ID="1." CONTENT="(内科检查)未见异常" DOCTORCODE="111" DOCTORNAME="仲怀琴" OPTIME="2010-03-29" SHOWID="1."/>
    <ROW CURENO="569786" ID="2." CONTENT="慢性咽炎" DOCTORCODE="111" DOCTORNAME="仲怀琴" OPTIME="2010-03-29" SHOWID="2."/>
    <ROW CURENO="569786" ID="3." CONTENT="双眼屈光不正" DOCTORCODE="111" DOCTORNAME="仲怀琴" OPTIME="2010-03-29" SHOWID="3."/>
    <ROW CURENO="569786" ID="4." CONTENT="乳腺增生&#013;&#010;建议:定期随访&#013;&#010;近期乳腺彩超检查&#013;&#010;慎用保健品&#013;&#010;乳腺自我检查每月一次" DOCTORCODE="111" DOCTORNAME="仲怀琴" OPTIME="2010-03-29" SHOWID="4."/>
    <ROW CURENO="569787" ID="1." CONTENT="(内科检查项目)未见明显异常&#013;&#010;&#013;&#010;建议:&#013;&#010;随访血常规&#013;&#010;随访尿常规尿沉渣(避开月经期)" DOCTORCODE="116" DOCTORNAME="王爱萍" OPTIME="2010-03-29" SHOWID="1."/>
    <ROW CURENO="569787" ID="2." CONTENT="单纯性小叶增生&#013;&#010;建议:定期随访&#013;&#010;近期乳腺彩超检查&#013;&#010;慎用保健品&#013;&#010;乳腺自我检查每月一次" DOCTORCODE="116" DOCTORNAME="王爱萍" OPTIME="2010-03-29" SHOWID="2."/>
    <ROW CURENO="569788" ID="1." CONTENT="建议:忌辛辣生冷饮食,随访胃脘部症状,必要时行胃镜复查" DOCTORCODE="113" DOCTORNAME="姜涌斌" OPTIME="2010-03-29" SHOWID="1."/>
    <ROW CURENO="569788" ID="2." CONTENT="慢性咽炎" DOCTORCODE="113" DOCTORNAME="姜涌斌" OPTIME="2010-03-29" SHOWID="2."/>
    <ROW CURENO="569788" ID="3." CONTENT="乳腺增生&#013;&#010;建议:定期随访&#013;&#010;近期乳腺彩超检查&#013;&#010;慎用保健品&#013;&#010;乳腺自我检查每月一次" DOCTORCODE="113" DOCTORNAME="姜涌斌" OPTIME="2010-03-29" SHOWID="3."/>
  </ROWDATA>
</DATAPACKET>

解决方案 »

  1.   

    DataSet
    DataTable的WriteXmlSchema
    和WriteXml
    两个方法可以帮你搞定。。你先把数据读到DataSet中。
    SQL语句也可以,相关的去了解一下for xml这些语句。
      

  2.   

    XmlWriter writer = ...writer.write(head and root and other meta description)for(col in columns){
    writer.write(col);
    }for(data in data.Rows){
    writer.write(column one by one)
    }writer.write(end of xml)
      

  3.   

    将数据库中的数据正常读出来后,遍历数据,Create一个XML就行了,不知道楼主是不会将数据库中数据读出来呢,还是不会Create一个XML。
    这里是一个XML操作的参考:http://blog.csdn.net/sendling/archive/2007/07/18/1696352.aspx
      

  4.   

    可能要先写成XML文件之后再自己转换吧
      

  5.   

    一位牛人的CREATE TABLE tb(id int primary key,val numeric(10,2),date datetime,name varchar(100))
    INSERT tb(id,val,date,name) SELECT 1,12,GETDATE(),'小梁'
    UNION ALL SELECT 12,29.334,'2010-09-12','兰儿';SELECT
        CAST('<DATAPACKET Version="2.0"><METADATA>'+
        (SELECT A.name AS [@attrname],B.name AS [@fieldtype],
                 CASE WHEN EXISTS(SELECT * FROM sys.indexes AS C
                                      JOIN sys.index_columns AS D
                                  ON C.object_id=D.object_id AND C.index_id=D.index_id
                                  WHERE C.object_id=A.object_id AND D.column_id=A.column_id
                                       AND C.is_primary_key=1)
                        THEN 'true'  END AS [@IS_PRIMARY_KEY],
                A.max_length AS [@WIDTH]
         FROM sys.columns AS A
             JOIN sys.types AS B
         ON A.user_type_id = B.user_type_id AND object_id=OBJECT_ID('tb')
         FOR XML PATH('FIELD'),ROOT('FIELDS'))+'</METADATA>'
        +
        (
            SELECT * FROM tb FOR XML RAW('ROW'),ROOT('ROWDATA')
        ) + '</DATAPACKET>'
        AS xml);
    DROP TABLE tb;/*
    <DATAPACKET Version="2.0">
      <METADATA>
        <FIELDS>
          <FIELD attrname="id" fieldtype="int" IS_PRIMARY_KEY="true" WIDTH="4" />
          <FIELD attrname="val" fieldtype="numeric" WIDTH="9" />
          <FIELD attrname="date" fieldtype="datetime" WIDTH="8" />
          <FIELD attrname="name" fieldtype="varchar" WIDTH="100" />
        </FIELDS>
      </METADATA>
      <ROWDATA>
        <ROW id="1" val="12.00" date="2010-04-21T11:27:46.687" name="小梁" />
        <ROW id="12" val="29.33" date="2010-09-12T00:00:00" name="兰儿" />
      </ROWDATA>
    </DATAPACKET>
    */
      

  6.   

    protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                Bind();
            }
        }    public void Bind()
        {
            // 实例化DataSet  
            DataSet dataset = new DataSet();
            // 不依赖于区域性  
            dataset.Locale = CultureInfo.InvariantCulture;
            // 取得XML文件虚拟路径  
            string strFilePath = HttpContext.Current.Server.MapPath("UserXML.xml");
            // 读取XML文件  
            dataset.ReadXml(strFilePath);
            GridView1.DataSource = dataset;
            GridView1.DataBind();
        }