使用对象类型形成XML数据

时间:2017-09-23 10:49:58

标签: xml oracle11g oracle-objects

我需要使用Oracle对象类型生成XML,而元素将具有属性。复杂因素是元素和属性将具有如下的值

  

雇员> ename id = 100> Aaron / ename> /雇员>

要求是仅使用对象类型实现此目的,而不是使用xmlelement,xmlattributes,因为实际场景包含大量列。

public class ItemObject {
    @SerializedName("name")
    private String songTitle;
    @SerializedName("id")
    private String songYear;
    @SerializedName("sku")
    private String songAuthor;



    public ItemObject(String songTitle, String songYear, String songAuthor) {
        this.songTitle = songTitle;
        this.songYear = songYear;
        this.songAuthor = songAuthor;
    }
    public String getSongTitle() {
        return songTitle;
    }
    public String getSongYear() {
        return songYear;
    }
    public String getSongAuthor() {
        return songAuthor;
    }
}

请帮助编写SQL查询

Create or replace type ename_type as object("@id" number,ename varchar2(100));

1 个答案:

答案 0 :(得分:0)

好的,这是:

<强> DDL

create type ename_type as object  (
  id number,
  ename varchar2(100)
);

create table employees of ename_type;

insert into employees values ( ename_type( 1,'dani') );

用于生成XML的DML

Select XMLELEMENT("employee",
                  XMLATTRIBUTES(e.id AS "ID"),
                  xmlforest(e.name)) 
from employees e;

解释

在DDL上我们创建了类型和对象表。然后,在DML上,我们将XMLELEMENT函数应用于属性和林。

更多信息

您可以在Database SQL Reference docs

上了解相关信息

享受!