본문 바로가기

db/mssql

mssql xml 파싱(mssql xml parsing)

반응형

요즘은 xml을 사용하지 않습니다..
하지만 가끔 레거시 시스템 연동 시 xml을 사용할 수 있는 경우가 생기기도 합니다.
아니면 그냥 xml을 좋아해서 일지도 모릅니다.

요즘은 json을 사용합니다.

예전에 naver 메모에 작성해 놓은 내용을 옮겨 작성합니다.


요즘은 xml을 사용하지 않아 요소, 속성이라는 단어를 잘 모르시는 분이 많습니다.
나 또한 예전에 옛날 책을 보고 알았습니다.

 

xml 요소
<val>요소</val>

 

 

xml 요소 조회 쿼리
DECLARE @XML_PARAMETER XML = '<VAL>요소</VAL>'
SELECT
 XMLS.S.value('VAL[1]', 'VARCHAR(100)') AS A
FROM @XML_PARAMETER.nodes('/') AS XMLS(S)

 

xml 속성
<val text="속성"></val>

 

 

요소, 속성, 리스트를 쿠리

 

xml 속성 조회 쿼리
DECLARE @XML_PARAMETER XML = '<VAL TEXT="속성"></VAL>'
SELECT
 XMLS.S.value('@TEXT[1]', 'VARCHAR(100)') AS A
FROM @XML_PARAMETER.nodes('/VAL') AS XMLS(S)

 

xml 리스트 조회 쿼리
DECLARE @XML_PARAMETER XML =
'<LIST>
  <LIST>
    <ID>1</ID>
    <NM>TEST</NM>
    <DESC>TEST_DESC</DESC>
  </LIST>
  <LIST>
    <ID>2</ID>
    <NM>TEST2</NM>
    <DESC>TEST2_DESC</DESC>
  </LIST>
</LIST>'

SELECT
 XMLS.S.value('ID[1]', 'INT') AS ID,
 XMLS.S.value('NM[1]', 'VARCHAR(100)') AS NM,
 XMLS.S.value('DESC[1]', 'VARCHAR(255)') AS DES
FROM @XML_PARAMETER.nodes('/LIST/LIST') AS XMLS(S)

 

xml요소, 속성, 리스트 한 번에 조회 쿼리
DECLARE @XML_PARAMETER XML =
'<list attr1="11" attr2="22" attr3="33" attr4="문자열">
	<a>a1</a>
	<b>b1</b>
	<c>bc</c>
	<d>1</d>
  <list>
    <ID>1</ID>
    <NM>Test</NM>
    <DESC>Test_DESC</DESC>
  </list>
  <list>
    <ID>2</ID>
    <NM>Test2</NM>
    <DESC>Test2_DESC</DESC>
  </list>
</list>'

SELECT
 XMLS.S.value('NM[1]', 'varchar(100)') AS NM,
 XMLS.S.value('DESC[1]', 'varchar(255)') AS "DESC"
FROM @XML_PARAMETER.nodes('/list/list') AS XMLS(S)

SELECT
 XMLS.S.value('a[1]', 'varchar(100)') AS a,
 XMLS.S.value('b[1]', 'varchar(100)') AS b,
 XMLS.S.value('c[1]', 'varchar(100)') AS c,
 XMLS.S.value('d[1]', 'int') AS d,
 XMLS.S.value('@attr1[1]', 'int') AS attr1,
 XMLS.S.value('@attr2[1]', 'int') AS attr2,
 XMLS.S.value('@attr3[1]', 'int') AS attr3,
 XMLS.S.value('@attr4[1]', 'varchar(100)') AS attr4
FROM @XML_PARAMETER.nodes('/list') AS XMLS(S)

 

쿼리 결과

요소,속성, 리스트 한번에 조회 결과

반응형

'db > mssql' 카테고리의 다른 글

MSSQL 버전 확인 하는 방법  (0) 2024.12.02
mssql 테이블 설명  (0) 2024.08.19
mssql 테이블 명세서 쿼리  (0) 2024.08.19
windows mssql on/off 자동 실행  (0) 2024.06.06
mssql server 설치(SQL Server 2022 설치), SSMS 설치  (0) 2024.04.03