database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 41000 게시물 읽기
No. 41000
이 xml 파싱하는 구분 해석좀 도와주세요
작성자
매수신호
작성일
2015-11-09 18:04
조회수
9,169

원문은 아래 주소에 나온 내용인데  
글 작성년도가 2012년도라 이곳에다가 다시 문의드립니다

http://nilriri.blogspot.kr/2012/11/blog-post.html

내용은 xml내용을 파싱하여 테이블상에  row단위로 조회시키는 방법에 관한 설명인데

아래 구문중 'xml소스문자열' 은 어떻게 xml소스 문자열을 지정하는건지를 모르겠습니다


WITH tb AS (
   SELECT 
        EXTRACTVALUE ( VALUE ( p ), '/man/@resid' ) man_resid
      , EXTRACTVALUE ( VALUE ( p ), '/man/@name' ) man_name
      , EXTRACT ( VALUE ( p ), '/man/data' ) man_data
     FROM 
       TABLE ( XMLSEQUENCE ( EXTRACT ( xmltype ( xml소스문자열 ), '/yesone/form[@form_cd="L101Y"]/man' ) ) ) p
)
SELECT 
       tb.man_resid
     , tb.man_name
     , EXTRACTVALUE ( td.COLUMN_VALUE, '/data/@busnid' ) busnid
     , EXTRACTVALUE ( td.COLUMN_VALUE, '/data/@trade_nm' ) trade_nm
     , EXTRACTVALUE ( td.COLUMN_VALUE, '/data/@donation_cd' ) donation_cd
     , EXTRACTVALUE ( td.COLUMN_VALUE, '/data/sum' ) SUM
  FROM tb CROSS JOIN TABLE ( XMLSEQUENCE ( EXTRACT ( tb.man_data, '/data' ) ) ) td

이 글에 대한 댓글이 총 1건 있습니다.

원하시는 xml 문자열을 그냥 "xml소스문자열" 부분에 치환하시면 됩니다.

extract (
xmltype( '
<?xml... >
...
<yesone>
...
<form form_cd=...>
...
</form>
</yesone>')
,
'/yesone/form[@form_cd="L101Y"]/man' )

고서진(longflat)님이 2015-11-10 19:39에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
41004sql connec by 문의하나 할께요. [1]
이현정
2015-11-16
8635
41002계층별 소계(조직도)를 처리할 방법이 있을까요? [2]
김민규
2015-11-13
9406
41001테이블스페이스 관련 질문 드립니다. [1]
검콤이
2015-11-10
8704
41000이 xml 파싱하는 구분 해석좀 도와주세요 [1]
매수신호
2015-11-09
9169
40999컬럼이 증가하는 반복문에 대한 질문입니다. [1]
어푸어푸
2015-11-09
8769
40998오라클 hotbackup 관련 질문 [1]
kjy
2015-11-07
9087
40996공백 추가 해주는 쿼리 [3]
민식이
2015-11-06
9225
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.019초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다