如何从Oracle数据库以XSD格式检索数据? 目标:我想以XSD格式恢复此数据。

在Oracle数据库中,我有一个包含简单属性的表,例如:

name first name age

目标:我想以XSD格式恢复此数据。

有用于该功能的Java函数或Java库吗?

预先感谢

chiichi 回答:如何从Oracle数据库以XSD格式检索数据? 目标:我想以XSD格式恢复此数据。

XSD代表XML Schema Definition,用于描述XML文档的结构,约束,数据类型。因此,您可以将数据放入XML文档中,但是该文档的结构/格式(不包含任何数据)将由关联的XSD描述。

由于您在谈论数据,您可能需要XML文档(而不是XSD),并且可以使用Oracle's XML functions

Oracle设置

CREATE TABLE table_name ( first_name,last_name,date_of_birth ) AS
SELECT 'Alice','Adams',DATE '1970-01-01' FROM DUAL UNION ALL
SELECT 'Beryl','Booth',DATE '1980-01-01' FROM DUAL UNION ALL
SELECT 'Carol','Cross',DATE '1990-01-01' FROM DUAL;

查询

SELECT XMLELEMENT(
         "People",XMLAGG(
           XMLELEMENT( 
           "Person",XMLFOREST(
               first_name AS "FirstName",last_name  AS "LastName",EXTRACT( YEAR FROM ( SYSDATE - date_of_birth ) YEAR TO MONTH ) AS "Age"
             )
           )
         )
       ) AS XML
FROM   table_name

输出

| XML                                                                                                                                                                                                                                                                           |
| :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <People><Person><FirstName>Alice</FirstName><LastName>Adams</LastName><Age>50</Age></Person><Person><FirstName>Beryl</FirstName><LastName>Booth</LastName><Age>40</Age></Person><Person><FirstName>Carol</FirstName><LastName>Cross</LastName><Age>30</Age></Person></People> |

db 提琴here

如果您确实要生成XSD,则可以使用与XSD本身相同的XML文档功能来实现。但这不是您将数据放入其中的东西。

本文链接:https://www.f2er.com/2702575.html

大家都在问