如何将xml文件的内容保存到数据库(在具有XML类型的字段中)
我应该阅读文件的内容,即:
FileUpload1.FileContent;
然后将其作为参数发送到数据库中保存?这是对的吗?
答案 0 :(得分:1)
您应该使用XmlReader和XmlTextReader类将XML文件加载到内存中。它们在System.XML命名空间中定义。您还可以使用System.Xml.Linq命名空间中定义的XDocument类。有关详细信息,请查看此处:
http://www.c-sharpcorner.com/uploadfile/mahesh/readingxmlfile11142005002137am/readingxmlfile.aspx
http://support.microsoft.com/kb/307548
var reader = new XmlTextReader("C:\\temp\\xmltest.xml");
然后,如果可能,您可以将XML内容作为XML存储在数据库中(取决于您使用的数据库系统)或varchar。最好将它们存储为XML,因为您可以确保它的格式良好并且针对某个模式进行验证!
答案 1 :(得分:1)
您必须先将其保存到服务器硬盘,然后将其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
}
答案 2 :(得分:0)
您基本上可以从XML文字字符串中填充XML类型的列,因此您可以轻松地使用normal INSERT statement
并将XML内容填充到该字段中。为此,您必须阅读XML文件。
您可以使用System.Xml.Linq
命名空间并使用XDocument.Load(@"YourXmlFile.xml");
或任何标准方法来阅读此处所述的XML文件 - http://support.microsoft.com/kb/307548