如何从常规SQL查询中输出XML



Oracle 11g版本。我在PL/SQL过程中有一个正在运行的SQL查询。获取该查询并输出XML的最简单方法是什么?指定元素名称,还是从查询列中获取元素名称?我不知道是使用DBMS_XMLGEN、XMLQuery还是SQLX。在Oracle中执行此操作的规范方式是什么?

感谢

检查生成XML的SQL函数http://docs.oracle.com/cd/B19306_01/appdev.102/b14259/xdb13gen.htm#i1029583.例如:

SELECT
   XMLRoot(
      XMLElement(
        "employees", 
        XMLAgg(
           XMLElement("employee",
              XMLConcat(
                 XMLElement(
                    "name",
                    e.name
                 ),
                 XMLElement(
                    "surname",
                    e.surname
                 )
              )
           )
        )
     ), VERSION '1.0', STANDALONE YES
  ).getClobVal() INTO retval -- useful if you want to export it outside oracle
  FROM employees e

应该返回例如:

<?xml version="1.0" standalone="yes"?>
<employees>
    <employee>
        <name>Jan</name>
        <surname>Kowalski</surname>
    </employee>
    <employee>
        <name>Tomasz</name>
        <surname>Nowak</surname>
    </employee>
</employees>

最新更新