[英]Convert oracle database to xml
我在 Oracle 中有一個關系數據庫。
我想將此數據庫轉換為 xml。 例如,我在 Oracle 中有一個表,如下所示:(這是一個非常簡單的例子,在我的數據庫中沒有這樣的表)
TABLE: PERSON
----------------------------------------------------
ID | NAME | DESCRIPTION
----------------------------------------------------
1 | George | Employee
2 | Mary | Student
3 | Joe | Employee
-------------------------------------------------------
xml 輸出將是
<?xml version="1.0" encoding="UTF-8"?>
<persons>
<person>
<ID>1</ID>
<NAME>George</NAME>
<DESCRIPTION>Employee</DESCRIPTION>
</person>
<person>
<ID>2</ID>
<NAME>Mary</NAME>
<DESCRIPTION>Student</DESCRIPTION>
</person>
<person>
<ID>3</ID>
<NAME>Joe</NAME>
<DESCRIPTION>Employee</DESCRIPTION>
</person>
</persons>
進行轉換的最佳方法是什么?
1)要我自己做嗎?
a)根據數據庫的設計創建我自己的 xsd 模式b)創建我自己的機制,該機制將通過選擇和加入表來自動創建 xml 文檔。
或者
2)我應該使用在線工具來進行轉換嗎? 如果是的話,哪些是最適合這種轉換的?
提前致謝
直接通過oracle引擎:
select xmlelement( "PERSON", xmlforest( id, name, description ) )
from PERSON;
Oracle 為此提供了內置功能:
with v_data as (
select 1 as id, 'George' as name, 'Employee' as description from dual union all
select 2 as id, 'Mary' as name, 'Student' as description from dual union all
select 3 as id, 'Joe' as name, 'Employee' as description from dual)
select
xmlelement("Persons",
xmlagg(
xmlelement("Person",
xmlforest(e.id, e.name, e.description)
)
order by id)
) as "Person list"
from v_data e
根據您的真實數據,您可能希望使用 DBMS_XMLGEN 或類似方法使用增量方法,請參閱Oracle XML DB Developer's Guide
如果您使用任何編程語言,如 Java,則可以使用任何對象關系映射框架,如 JPA/Hibernate/等。 並使用 JAXB 或 XStream 或任何其他 xml 序列化 API 將映射對象序列化為 xml。
如果您想手動完成,如果您負擔得起,也可以使用 Altova MapForce 等工具
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.