2012-06-15 85 views
0

我如何可以將XML文件的內容保存到數據庫中的XML文件(其中有一個XML類型字段)保存使用文件上傳

我應該讀文件與IE瀏覽器的內容:

FileUpload1 .FileContent;

然後發送它作爲參數保存在數據庫中?這是對的嗎?

回答

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  
} 
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存儲會更好,因爲您可以確保它的格式良好並且針對特定模式進行驗證!

0

基本上可以從XML文本字符串填充XML類型的列,因此您可以輕鬆使用normal INSERT statement並將XML內容填充到該字段中。爲此,您必須閱讀XML文件。

您可以使用System.Xml.Linq命名空間和使用XDocument.Load(@"YourXmlFile.xml");或任何標準的方法來讀取XML文件,這裏描述 - http://support.microsoft.com/kb/307548