在Oracle数据库中,我有一个包含简单属性的表,例如:
name
first name
age
目标:我想以XSD格式恢复此数据。
有用于该功能的Java函数或Java库吗?
预先感谢
在Oracle数据库中,我有一个包含简单属性的表,例如:
name
first name
age
有用于该功能的Java函数或Java库吗?
预先感谢
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文档功能来实现。但这不是您将数据放入其中的东西。