0

XMLファイルのコンテンツをデータベースに保存するにはどうすればよいですか(XMLタイプを持つフィールド内)

ieでファイルの内容を読むべきですか:

FileUpload1.FileContent;

それをパラメーターとして送信して、データベースに保存しますか? それが正しいか?

4

3 に答える 3

1

XML ファイルをメモリにロードするには、XmlReader クラスと XmlTextReader クラスを使用する必要があります。それらは 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 コンテンツを、可能であれば (使用する DB システムに応じて) XML として DB に格納するか、varchar として格納します。ただし、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 に答える