我們可以使用C#和來自SQL Server的數據創建XML文件嗎?使用C#和來自SQL Server的數據的XML文件
在XML文件應該是這個樣子的數據顯示,「在10:10:10 AM
上10/10/2012
的溫度是76
華氏度」
的日期,時間和溫度從SQL Server數據庫中取出。 查詢是:Select Date,Time,IndoorTemp from ThermData
請問我是否能夠獲取上述XML文件的代碼。我絕對不知道如何在C#中工作。
我們可以使用C#和來自SQL Server的數據創建XML文件嗎?使用C#和來自SQL Server的數據的XML文件
在XML文件應該是這個樣子的數據顯示,「在10:10:10 AM
上10/10/2012
的溫度是76
華氏度」
的日期,時間和溫度從SQL Server數據庫中取出。 查詢是:Select Date,Time,IndoorTemp from ThermData
請問我是否能夠獲取上述XML文件的代碼。我絕對不知道如何在C#中工作。
您可以使用XmlSerializer的構建XML文件 看到http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlserializer.aspx
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");
做這樣的事情。
您可以使用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()){}
你能否給我一些閱讀參考。因爲我沒有完全理解你的代碼。 – SarangArd