2012-08-16 5 views
1

SQL Server 데이터베이스로 내보낼 XML 데이터베이스가 있습니다. 그래서 xml을 내보낼 수 있습니다 : tag = "value" 하지만 XML은 <tag>value</tag>입니다.tag = "value"및 <tag> 값</tag>

내 쿼리 :

DECLARE @tempTable TABLE (
userId INT, 
userName NVARCHAR(50), 
password NVARCHAR(50) 
) 
DECLARE @xml XML 
SET @xml="my_XML" 

INSERT INTO @tempTable<br /> 
SELECT Tbl.Col.value('@userId', 'INT'),<br /> 
     Tbl.Col.value('@userName', 'NVARCHAR(50)'),<br /> 
     Tbl.Col.value('@password', 'NVARCHAR(50)')<br /> 
FROM @xml.nodes('//row') Tbl(Col) 

SELECT * FROM @tempTable 

내가 두 번째 경우에 첫 번째 경우를 변환 할 수 있습니까? 아니면 다른 방법이 있을까요? XML 데이터의

샘플 :

<row> 
<userId>1</userId> 
<userName>Alpha</userName> 
<password>1234</password> 
</row> 
<row> 
<userId>2</userId> 
<userName>Beta</userName> 
<password>5678</password> 
</row> 

내가 그것을 가져 오려고

, 나는 NULL 세포 2 행 DataTable을받을 수 있습니다.

+0

xml 데이터 샘플을 게시하면 도움이됩니다. –

답변

1

원하는대로 ...?

SELECT Tbl.Col.value('userId[1]','int'), 
Tbl.Col.value('userName[1]', 'NVARCHAR(50)'), 
Tbl.Col.value('password[1]', 'NVARCHAR(50)') 
FROM @xml.nodes('//row') Tbl(Col) 
+0

감사합니다. 그것은 내가 필요한 것입니다. –

관련 문제