create or replace procedure db2xml(xmlfile varchar2) as
   doc xmldom.DOMDocument;
   ret xmldom.DOMNode;
   peoplenode xmldom.DOMNode;
   --遍历整个people表的游标 
   Cursor cur_people is select * from people;
   --将people表中一行记录转换为元素
   --并插入到DOM文档对像根结点PEOPLE下的过程 
   procedure addperson(doc xmldom.DOMDocument,people xmldom.DOMNode,
                       v_pid varchar2,v_name varchar2,v_addr varchar2,
                       v_tel varchar2,v_fax varchar2,v_email varchar2)
   is
     personelem xmldom.DOMElement;
     personnode xmldom.DOMNode;
     itemelem xmldom.DOMElement;
     itemnode xmldom.DOMNode;
     text xmldom.DOMText;
   begin
     --创建PERSON结点 
     personelem := xmldom.createElement(doc,'PERSON');
     --设置PERSONID属性 
     xmldom.setAttribute(personelem,'PERSONID',v_pid);
     personnode := xmldom.appendChild(peoplenode,xmldom.makeNode(personelem));
     --向PERSON结点中添加NAME元素
     itemelem := xmldom.createElement(doc,'NAME');
     --  将NAME结点添加到PERSON结点中
     itemnode := xmldom.appendChild(personnode,xmldom.makeNode(itemelem));
     --  创建文本结点
     text := xmldom.createTextNode(doc,v_name);
     --  将文本结点添加到NAME结点下,以构成完整NAME元素
     itemnode := xmldom.appendChild(itemnode,xmldom.makeNode(text));
     --向PERSON结点中添加ADDRESS元素
     itemelem := xmldom.createElement(doc,'ADDRESS');
     itemnode := xmldom.appendChild(personnode,xmldom.makeNode(itemelem));
     text := xmldom.createTextNode(doc,v_addr);
     itemnode := xmldom.appendChild(itemnode,xmldom.makeNode(text));
     --向PERSON结点中添加TEL元素
     itemelem := xmldom.createElement(doc,'TEL');
     itemnode := xmldom.appendChild(personnode,xmldom.makeNode(itemelem));
     text := xmldom.createTextNode(doc,v_tel);
     itemnode := xmldom.appendChild(itemnode,xmldom.makeNode(text));
     --向PERSON结点中添加FAX元素
     itemelem := xmldom.createElement(doc,'FAX');
     itemnode := xmldom.appendChild(personnode,xmldom.makeNode(itemelem));
     text := xmldom.createTextNode(doc,v_fax);
     itemnode := xmldom.appendChild(itemnode,xmldom.makeNode(text));
     --向PERSON结点中添加EMAIL元素
     itemelem := xmldom.createElement(doc,'EMAIL');
     itemnode := xmldom.appendChild(personnode,xmldom.makeNode(itemelem));
     text := xmldom.createTextNode(doc,v_email);
     itemnode := xmldom.appendChild(itemnode,xmldom.makeNode(text));
   end addperson;
 begin
   --创建一个新DOM文档对像 
   doc := xmldom.newDOMDocument;
   --为文档添加根结点PEOPLE
   peoplenode := xmldom.makeNode(xmldom.createElement(doc,'PEOPLE'));
   ret := xmldom.appendChild(xmldom.makeNode(doc),peoplenode);
   --使用游标遍历people中的每行,生成每一行对应的PERSON元素并添加到PEOPLE根结点中
   for v_row in cur_people loop
     addperson(doc,peoplenode,v_row.personid,v_row.name,
               v_row.address,v_row.tel,v_row.fax,v_row.email);
   end loop;
   --将结果写入指定文件 
   xmldom.writeToFile(doc,xmlfile);
   xmldom.freeDocument(doc);
 end db2xml;报错:AIX环境1:
      xmldom.DOMDocument must be declared;
      AIX环境2:
      通过上述存储过程导不出来文件;
windows环境下能正常导出文件,急求大神帮忙,多谢。