C# 使用Fileupload保存XML文件

C# 使用Fileupload保存XML文件,c#,asp.net,C#,Asp.net,如何将xml文件的内容保存到数据库(在具有xml类型的字段中) 我是否应该阅读文件内容,即: FileUpload1.FileContent 然后将其作为参数发送到数据库中保存?是否正确?您应该使用XmlReader和XmlTextReader类将XML文件加载到内存中。它们在System.XML命名空间中定义。您还可以使用System.Xml.Linq命名空间中定义的XDocument类。有关更多信息,请查看此处: 然后,如果可能(取决于您使用的数据库系统),您可以将XML内容作为XML存

如何将xml文件的内容保存到数据库(在具有xml类型的字段中)

我是否应该阅读文件内容,即:

FileUpload1.FileContent


然后将其作为参数发送到数据库中保存?是否正确?

您应该使用XmlReader和XmlTextReader类将XML文件加载到内存中。它们在System.XML命名空间中定义。您还可以使用System.Xml.Linq命名空间中定义的XDocument类。有关更多信息,请查看此处:


然后,如果可能(取决于您使用的数据库系统),您可以将XML内容作为XML存储在数据库中,或者作为varchar存储。不过最好将它们存储为XML,因为您可以确保它的格式良好,并根据特定的模式进行验证

您基本上可以从XML文本字符串中填充XML类型的列,因此您可以轻松地使用
普通INSERT语句
将XML内容填充到该字段中。为此,您必须读取XML文件


您可以使用
System.Xml.Linq
命名空间并使用
XDocument.Load(@“YourXmlFile.Xml”)
或此处所述的任何读取XML文件的标准方法-

您必须首先将其保存到服务器硬盘,然后将其
InnerXML
保存到字符串变量,然后将其保存到数据库

假设您将文件保存到磁盘中的某个文件夹中,您可以使用以下方法(使用LINQtoXML)读取内容

XElement elm = XElement.Load(Server.MapPath(@"../YourUploadFolder/yourXMl.xml"));
if(elm!=null)
{
    var reader = elm.CreateReader();
    reader.MoveToContent();
    string xmlContent = reader.ReadInnerXml(); xmlContent
   // Now save to the database    
}
XElement elm = XElement.Load(Server.MapPath(@"../YourUploadFolder/yourXMl.xml"));
if(elm!=null)
{
    var reader = elm.CreateReader();
    reader.MoveToContent();
    string xmlContent = reader.ReadInnerXml(); xmlContent
   // Now save to the database    
}