SQL Server可以直接查询生成XML文件

解决方案 »

  1.   

    sqlserver2000支持生成xml
    sqlconnection sqlconn=new sqlconnection("server=myserver;uid=sa;pwd=;database=mydatabase;")
    sqlcommand sqlcmd=new sqlcommand("select * from authors for xml auto,xmldata",sqlconn)
    sqlconn.open()
    XmlTextReader xmlreader=sqlcmd.ExecuteXmlReader();
    DataSet ds=ne DataSet();
    ds.ReadXml(xmlreader,XmlReadMode.Fragment);
    ds.WriteXml("resultxml.xml");
    另外:
    dataset也能将数据导出为xml和xml schema。
    sqldataadapter sqladp=new sqldataadapter("select * from authors",sqlconn)
    dataset ds =new dataset;
    sqladp.fill(ds,"authors")
    string strxmldata=ds.GetXml();
    string strxmlschema=ds.GetXmlSchema();
    我没有测试
    [email protected]
      

  2.   

    试试:
    System.Xml.XmlTextReader xmlreader=sqlcmd.ExecuteXmlReader();
      

  3.   

    改成这样:
    XmlReader xmlreader=sqlcmd.ExecuteXmlReader();
      

  4.   

    请问怎么从XML文档中取得数据?
      

  5.   

    XmlDataDocument xmldoc=new XmlDataDocument();
    xmldoc.DataSet.ReadXml(Server.MapPath("test.xml"));
    DataTable dt=xmldoc.DataSet.Tables[0];
      

  6.   

    or
    XmlTextReader reader;
    reader=new XmlTextReader(Server.MapPath("test.xml"));
      

  7.   

    谢谢!
    再请教:
    添加一条新的记录能直接插入到已有的XML文件里吗?就象将新记录添加到数据库一样。
      

  8.   

    XmlDataDocument xmldoc=new XmlDataDocument();
    xmldoc.DataSet.ReadXml(Server.MapPath("test.xml"));
    DataTable dt=xmldoc.DataSet.Tables[0];//对dt做相应操作,添加、删除、修改……xmldoc.Save(Server.MapPath("Expert_xml.xml"));
      

  9.   

    ou,错了,是
    xmldoc.Save(Server.MapPath("test.xml"));
      

  10.   

    出现这种错误,请问如何改?
    Access to the path "C:\Inetpub\wwwroot\document\resultxml.xml" is denied.
      

  11.   

    右键单击C:\Inetpub\wwwroot\document\resultxml.xml
    ->属性->安全->设Everyone完全控制为允许
      

  12.   

    我怎么没有啊,它就只有“常规”一项。
    是不是右击XML文件->属性??只有一项的。生成XML文件后,能不能筛选XML里面的数据,就象筛选数据表数据一样?