Oracleの話ですが、単純に、通常のテーブルをSELECTした結果を
XMLで取る方法は、
select
dbms_xmlgen.getxml(
'対象のSELECT文'
)
from dual
で取れますが、この方法だと、
と固定のタグで囲まれてしまいます。
で、ROWSET, ROWタグを変更しようと思ったら、
ちょっとストアドを組む必要があります。
declare
qryCtx DBMS_XMLGEN.ctxHandle;
result CLOB;
begin
qryCtx := DBMS_XMLGEN.newContext('対象のSELECT文');
-- これでROWSETタグを任意の文字に変更
-- NULLを指定すると、タグがでない。
DBMS_XMLGEN.SETROWSETTAG(qryCtx, '項目');
-- これでROWタグを任意の文字に変更
-- NULLを指定すると、タグがでない。
DBMS_XMLGEN.setRowTag(qryCtx, NULL);
result := DBMS_XMLGEN.getXML(qryCtx);
DBMS_OUTPUT.PUT_LINE(result); -- ここはちょっと無理やり表示した感が。
DBMS_XMLGEN.closeContext(qryCtx);
end;
/
これで、<項目>データXML</項目>
になります。
0 件のコメント:
コメントを投稿