如何将 xml 文件的内容保存到数据库(在具有 XML 类型的字段中)
我应该用ie读取文件的内容:
文件上传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");
然后,如果可能(取决于您使用的 DB 系统)或 varchar,您可以将 XML 内容作为 XML 存储在 DB 中。将它们存储为 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
}
您基本上可以从 XML 文字字符串中填充 XML 类型的列,因此您可以轻松地使用 anormal INSERT statement
并将 XML 内容填充到该字段中。为此,您必须阅读 XML 文件。
您可以使用System.Xml.Linq
命名空间和使用XDocument.Load(@"YourXmlFile.xml");
或任何标准方法来读取 XML 文件,如此处所述 - http://support.microsoft.com/kb/307548