请问如何读取出存储在一个XML文件中<sql>SQL语句1;SQL语句2;SQL语句3;<\sql>标记中SQL语句 然后在SQL SERVER2000中执行

解决方案 »

  1.   

    <sql>SQL语句1<\sql>
    <sql>SQL语句2<\sql>
    <sql>SQL语句3<\sql>
    读出一条记录后,
    exec SQL语句1
      

  2.   

    1.xml:
    <?xml version="1.0" encoding="gb2312" ?> 
    <sql>
    sql1;sql2;sql3
    </sql>
    using System.Xml;
    ...
    XmlDocument doc = new XmlDocument();
    doc.Load("C:\\test.xml");XmlDocument doc = new XmlDocument();
    doc.Load("C:\\1.xml"); string path = "//sql";
    XmlNodeList nodeList = doc.SelectNodes(path);
    XmlNode xmlNode = nodeList[0];//我这是测试,只取第一个结点,下面是获取所有结点,我已经注释// foreach (XmlNode node in nodeList)
    // {
    // MessageBox.Show(node.InnerXml);
    // } string[] strTemp = xmlNode.InnerXml.ToString().Split(';');
    for(int j=0;j<strTemp.Length;j++)
    {
    MessageBox.Show(strTemp[j].ToString());
    }语句执行基本是这样:
    exec strTemp[0];.....
      

  3.   

    最简单用DataSet 方法读出,
    DataSet ds=new DataSet();
    ds.ReaderXml(Server.MapPath(".xml"));
    exec ds.Tables[0].Rows[0][0].ToString();// SQL语句1
    exec ds.Tables[0].Rows[1][0].ToString();// SQL语句2
    .....
      

  4.   

    楼上二位的办法都行,如果我一个本地计算机一文件夹里面又多个XML的时候怎么处理呢 谢谢
      

  5.   

    如果有先后顺序就filter文件,没有顺序就foreach,dataset性能应该比LoadXML慢(直觉)