oracle 写xml

  Function Resulttoxmlclob( In_Party_Record In Party_Recordtype)
    Return Clob Is
    v_Xmldoc           Xmldom.Domdocument;
    v_Xmlrootnode      Xmldom.Domnode;

    v_Xmlareanode      Xmldom.Domnode;   -- 客户地区信息
    v_Xmlcodenode      Xmldom.Domnode;   -- 客户标识信息
    v_Xmlidentnode     Xmldom.Domnode;   -- 客户证件信息
    v_Xmlothernode     Xmldom.DOmnode;   -- 客户其他信息
    v_Xmltmpnode       Xmldom.Domnode;
    v_Resultxmlclob    Clob;
  Begin
    Dbms_Lob.Createtemporary(v_Resultxmlclob, True);
    v_Xmldoc          := Xmldom.Newdomdocument;
    v_Xmlrootnode     := Xmldom.Appendchild(Xmldom.Makenode(v_Xmldoc),
                                            Xmldom.Makenode(Xmldom.Createelement(v_Xmldoc,
                                                                           'SvcCont')));
    v_Xmlrootnode     := Xmldom.Appendchild(v_Xmlrootnode,
                                            Xmldom.Makenode(Xmldom.Createelement(v_Xmldoc,
                                                                           'QryInfoRsp')));
    v_Xmltmpnode      := Xmldom.Appendchild(v_Xmlrootnode,
                                            Xmldom.Makenode(Xmldom.Createelement(v_Xmldoc,
                                                                           'InfoTypeID')));
    v_Xmltmpnode      := Xmldom.Appendchild(v_Xmltmpnode,
                                            Xmldom.Makenode(Xmldom.Createtextnode(v_Xmldoc,
                                                           '资料类型')));
    v_Xmlrootnode     := Xmldom.Appendchild(v_Xmlrootnode,
                                            Xmldom.Makenode(Xmldom.Createelement(v_Xmldoc,
                                                                           'InfoCont')));
    v_Xmlrootnode     := Xmldom.Appendchild(v_Xmlrootnode,
                                            Xmldom.Makenode(Xmldom.Createelement(v_Xmldoc,
                                                                           'CustInfo')));
    v_Xmlareanode     := Xmldom.Appendchild(v_Xmlrootnode,
                                            Xmldom.Makenode(Xmldom.Createelement(v_Xmldoc,
                                                                           'BelongInfo')));
    v_Xmlcodenode     := Xmldom.Appendchild(v_Xmlrootnode,
                                           Xmldom.Makenode(Xmldom.Createelement(v_Xmldoc,
                                                                           'PartyCodeInfo')));
    v_Xmlidentnode    := Xmldom.Appendchild(v_Xmlrootnode,
                                            Xmldom.Makenode(Xmldom.Createelement(v_Xmldoc,
                                                                           'IdentityInfo')));
    v_Xmlothernode    := v_Xmlrootnode;   -- OtherInfo下的信息都在根节点下

    -- 添加客户地区信息
    v_Xmltmpnode      := Xmldom.Appendchild(v_Xmlareanode,
                                            Xmldom.Makenode(Xmldom.Createelement(v_Xmldoc,
                                                           'ProvinceCode')));
    v_Xmltmpnode      := Xmldom.Appendchild(v_Xmltmpnode,
                                            Xmldom.Makenode(Xmldom.Createtextnode(v_Xmldoc,
                                                           '所属省代码')));
    v_Xmltmpnode      := Xmldom.Appendchild(v_Xmlareanode,
                                            Xmldom.Makenode(Xmldom.Createelement(v_Xmldoc,
                                                           'ProvinceName')));
    v_Xmltmpnode      := Xmldom.Appendchild(v_Xmltmpnode,
                                            Xmldom.Makenode(Xmldom.Createtextnode(v_Xmldoc,
                                                           '所属省名称')));
    v_Xmltmpnode      := Xmldom.Appendchild(v_Xmlareanode,
                                            Xmldom.Makenode(Xmldom.Createelement(v_Xmldoc,
                                                           'CityCode')));
    v_Xmltmpnode      := Xmldom.Appendchild(v_Xmltmpnode,
                                            Xmldom.Makenode(Xmldom.Createtextnode(v_Xmldoc,
                                          In_Party_Record.partyArea_Record.cityCode)));
    v_Xmltmpnode      := Xmldom.Appendchild(v_Xmlareanode,
                                            Xmldom.Makenode(Xmldom.Createelement(v_Xmldoc,
                                           'CityName')));
    v_Xmltmpnode      := Xmldom.Appendchild(v_Xmltmpnode,
                                            Xmldom.Makenode(Xmldom.Createtextnode(v_Xmldoc,
                                            In_Party_Record.partyArea_Record.cityName)));
    -- 添加客户标识信息
    For i In 1 .. In_Party_Record.PartyCode_list.Count Loop
    v_Xmltmpnode      := Xmldom.Appendchild(v_Xmlcodenode,
                                            Xmldom.Makenode(Xmldom.Createelement(v_Xmldoc,
                                           'CodeType')));
    v_Xmltmpnode      := Xmldom.Appendchild(v_Xmltmpnode,
                                            Xmldom.Makenode(Xmldom.Createtextnode(v_Xmldoc,
                                            In_Party_Record.PartyCode_list(i).codeType)));
    v_Xmltmpnode      := Xmldom.Appendchild(v_Xmlcodenode,
                                            Xmldom.Makenode(Xmldom.Createelement(v_Xmldoc,
                                           'CodeValue')));
    v_Xmltmpnode      := Xmldom.Appendchild(v_Xmltmpnode,
                                            Xmldom.Makenode(Xmldom.Createtextnode(v_Xmldoc,
                                            In_Party_Record.PartyCode_list(i).codeValue)));
    v_Xmltmpnode      := Xmldom.Appendchild(v_Xmlcodenode,
                                            Xmldom.Makenode(Xmldom.Createelement(v_Xmldoc,
                                           'CityCode')));
    v_Xmltmpnode      := Xmldom.Appendchild(v_Xmltmpnode,
                                            Xmldom.Makenode(Xmldom.Createtextnode(v_Xmldoc,
                                            In_Party_Record.partyArea_Record.cityCode)));
    End Loop;
    -- 添加客户证件信息
    For i In 1 .. In_Party_Record.partyIdentity_list.Count Loop
    v_Xmltmpnode      := Xmldom.Appendchild(v_Xmlidentnode,
                                            Xmldom.Makenode(Xmldom.Createelement(v_Xmldoc,
                                           'IdentType')));
    v_Xmltmpnode      := Xmldom.Appendchild(v_Xmltmpnode,
                                            Xmldom.Makenode(Xmldom.Createtextnode(v_Xmldoc,
                                            In_Party_Record.partyIdentity_list(i).identType)));
    v_Xmltmpnode      := Xmldom.Appendchild(v_Xmlidentnode,
                                            Xmldom.Makenode(Xmldom.Createelement(v_Xmldoc,
                                           'IdentNum')));
    v_Xmltmpnode      := Xmldom.Appendchild(v_Xmltmpnode,
                                            Xmldom.Makenode(Xmldom.Createtextnode(v_Xmldoc,
                                            In_Party_Record.partyIdentity_list(i).identNum)));
    End Loop;

    -- 添加客户其他信息
    v_Xmltmpnode      := Xmldom.Appendchild(v_Xmlothernode,
                                            Xmldom.Makenode(Xmldom.Createelement(v_Xmldoc,
                                           'CustName')));
    v_Xmltmpnode      := Xmldom.Appendchild(v_Xmltmpnode,
                                            Xmldom.Makenode(Xmldom.Createtextnode(v_Xmldoc,
                                            In_Party_Record.partyOther_Record.custName)));
    v_Xmltmpnode      := Xmldom.Appendchild(v_Xmlothernode,
                                            Xmldom.Makenode(Xmldom.Createelement(v_Xmldoc,
                                           'CustBrand')));
    v_Xmltmpnode      := Xmldom.Appendchild(v_Xmltmpnode,
                                            Xmldom.Makenode(Xmldom.Createtextnode(v_Xmldoc,
                                            In_Party_Record.partyOther_Record.custBrand)));
    v_Xmltmpnode      := Xmldom.Appendchild(v_Xmlothernode,
                                            Xmldom.Makenode(Xmldom.Createelement(v_Xmldoc,
                                           'CustGroup')));
    v_Xmltmpnode      := Xmldom.Appendchild(v_Xmltmpnode,
                                            Xmldom.Makenode(Xmldom.Createtextnode(v_Xmldoc,
                                            In_Party_Record.partyOther_Record.custGroup)));
    v_Xmltmpnode      := Xmldom.Appendchild(v_Xmlothernode,
                                            Xmldom.Makenode(Xmldom.Createelement(v_Xmldoc,
                                           'ISVip')));
    v_Xmltmpnode      := Xmldom.Appendchild(v_Xmltmpnode,
                                            Xmldom.Makenode(Xmldom.Createtextnode(v_Xmldoc,
                                            In_Party_Record.partyOther_Record.iSVip)));
    v_Xmltmpnode      := Xmldom.Appendchild(v_Xmlothernode,
                                            Xmldom.Makenode(Xmldom.Createelement(v_Xmldoc,
                                           'VipCardNo')));
    v_Xmltmpnode      := Xmldom.Appendchild(v_Xmltmpnode,
                                            Xmldom.Makenode(Xmldom.Createtextnode(v_Xmldoc,
                                            In_Party_Record.partyOther_Record.vipCardNo)));
    v_Xmltmpnode      := Xmldom.Appendchild(v_Xmlothernode,
                                            Xmldom.Makenode(Xmldom.Createelement(v_Xmldoc,
                                           'CustAddress')));
    v_Xmltmpnode      := Xmldom.Appendchild(v_Xmltmpnode,
                                            Xmldom.Makenode(Xmldom.Createtextnode(v_Xmldoc,
                                            In_Party_Record.partyOther_Record.custAddress)));
    ------ 添加文件头
    Xmldom.Writetoclob(v_Xmldoc, v_Resultxmlclob);
    v_Resultxmlclob := '<?xml version = ' || '''1.0''' || ' encoding = ' ||
                       '''UTF-8''' || '?>' || chr(13) || v_resultxmlclob;
    Xmldom.Freedocument(v_Xmldoc);
    Return v_Resultxmlclob;
  End Resulttoxmlclob;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值