如何从XmlReader创建XML文件?
如何从System.Xml.XmlReader编写XML文件?
我认为这将是一个简单的问题,但每当我搜索时,我似乎最终都会将文件读取到读取器或逐个节点地编写。
XmlReader对象传达存储在数据库中的xml,只需要从数据库中传出一个文件即可。 有没有简单的方法来做到这一点?
SqlCommand dataCmd = new SqlCommand(sqlText, Conn); System.Xml.XmlReader dataReader = null; dataCmd.CommandTimeout = 60000; Conn.Open(); dataReader = dataCmd.ExecuteXmlReader(); dataReader.Read();
您需要创建一个XmlWriter
并调用其WriteNode
方法 。
例如:
using (conn) using (SqlCommand dataCmd = new SqlCommand(sqlText, Conn)) { dataCmd.CommandTimeout = 60000; Conn.Open(); using (XmlReader dataReader = dataCmd.ExecuteXmlReader()) using (XmlWriter writer = XmlWriter.Create(File.OpenWrite(...)) { writer.WriteNode(dataReader, true); } }
最简单的方法是将它传递给XmlWriter,使用如下方法:
public void WriteOutXml(XmlReader xmlReader, string fileName) { var writer = XmlWriter.Create(fileName); writer.WriteNode(xmlReader, true); }