2013-05-30 72 views
0

我們可以使用C#和來自SQL Server的數據創建XML文件嗎?使用C#和來自SQL Server的數據的XML文件

在XML文件應該是這個樣子的數據顯示,「在10:10:10 AM10/10/2012的溫度是76華氏度」

的日期,時間和溫度從SQL Server數據庫中取出。 查詢是:Select Date,Time,IndoorTemp from ThermData

請問我是否能夠獲取上述XML文件的代碼。我絕對不知道如何在C#中工作。

回答

0
XmlDocument XD = new XmlDocument(); 
    XmlNode Root = XD.AppendChild(XD.CreateElement("Root")); 
    XmlNode Child = Root.AppendChild(XD.CreateElement("Child")); 
    XmlAttribute ChildAtt = Child.Attributes.Append(XD.CreateAttribute("Attribute")); 
    ChildAtt.InnerText = "My innertext"; 
    Child.InnerText = "Node Innertext"; 
    XD.Save("Add.xml"); 

做這樣的事情。

+0

你能否給我一些閱讀參考。因爲我沒有完全理解你的代碼。 – SarangArd

0

您可以使用XmlWriter來執行必要的操作,並使用XmlReader來針對XSD引用此操作。

using (XmlWriter writer = XmlWriter.Create(FilePath + FileName)) 
      { 
       writer.WriteStartDocument(); 
       writer.LookupPrefix("xs"); 
       writer.WriteStartElement("TestForXML"); 


         foreach (DataRow currentRow in dt.Rows) 
         { 
         writer.WriteStartElement("Test"); 
          writer.WriteElementString("", Convert.ToString(currentRow[""])); 
          writer.WriteElementString("", Convert.ToString(currentRow[""])); 
          //writer.WriteElementString("", ""); 
          writer.WriteElementString("", ""); 
         writer.WriteEndElement(); 

         } 

        writer.WriteEndElement(); 
       writer.WriteEndDocument(); 

      } 

      System.IO.FileInfo f = new System.IO.FileInfo(FilePath + FileName); 
      string destinationFileName = System.IO.Path.GetFileNameWithoutExtension(FilePath + f.Name) + System.DateTime.Now.ToString("ddMMyy_HHmmss") + ".xml"; 
      f.CopyTo (FilePath + destinationFileName); 

      XmlReaderSettings settings = new XmlReaderSettings(); 
      settings.Schemas.Add(null, FilePath + XSDFile); 
      settings.ValidationType = ValidationType.Schema; 
      XmlDocument document = new XmlDocument(); 
      document.Load(FilePath + FileName); 
      XmlReader rdr = XmlReader.Create(new StringReader(document.InnerXml), settings); 
      while(rdr.Read()){} 
相關問題