0

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

我应该用ie读取文件的内容:

文件上传1.文件内容;

然后将其作为参数发送以保存在数据库中?这是正确的吗?

4

3 回答 3

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 会更好,因为您可以确保其格式正确并针对特定模式进行验证!

于 2012-06-15T15:02:44.353 回答
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    
}
于 2012-06-15T15:16:56.823 回答
0

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

您可以使用System.Xml.Linq命名空间和使用XDocument.Load(@"YourXmlFile.xml");或任何标准方法来读取 XML 文件,如此处所述 - http://support.microsoft.com/kb/307548

于 2012-06-15T15:08:49.920 回答