2011-08-11 12 views
3

私はTEXTとしてXMLData列を持つテーブルを持っています。この列からデータを読み取るにはどうすればいいですか?SQL Server 2005でXMLデータを読むには

+2

TSQL? C#?十分な詳細が不足しています.... –

+0

申し訳ありません..... TSQL –

+5

TextではなくXMLデータ型として保存していませんか?これはステップ1になります。 –

答えて

3
限り、その列は、タイプ TEXTであるとして、あなたはそれで有用な何かをすることはできません

、本当に次のMSDNの記事は、XMLは、SQL Serverでサポートされているかの長い説明です。 TEXTも非推奨となり、will be removed in a future version of SQL Server - それを使用を停止します。

XMLとXMLのみを格納する場合は、データ型をXMLにします。

一つあなた、あなたは、XPathやXQueryを使用して、そのXMLからの情報の個々の項目を抽出するかということがある - のようなもの:

SELECT 
    YourXMlColumn.value('(/Root/SomeItems/Item/FirstName)[1]', 'varchar(50)') as 'FirstName', 
    YourXMlColumn.value('(/Root/SomeItems/Item/Age)[1]', 'int') as 'Age' 
FROM 
    dbo.YourTable 
WHERE 
    (some condition) 

するか、あなたのXML内のリストのような構造で複数のアイテムを持っている場合XPath式に基づいてXML項目の「擬似表」を作成できます。

だから、行動のあなたの計画は次のようになります。

  1. この列は、適切なデータ型を使用します - XML
  2. あなたがそこに保存されているXMLの種類をより詳細に教えて、そして何がしたいですそのXMLから取得する
+0

あなたの素早い返信のためにTHanks。データ型をXMLに変更します。 –

関連する問題