我是想在一个存储过程里构造一个小的xml,然后把其中的test节点插入到传入的大节点G_DOM里。
前面构造都没问题,但在最后使用XMLDOM.appendChild方法时,外面会抛异常:
1-User-Defined Exception 不知道具体原因。代码如下,望高手指点!!
Procedure insertATestNode(G_DOM In Out XMLDOM.DOMNODE )Is
newNodeStr Varchar2(32767);
myNode xmldom.DOMNode;
coNode xmldom.DOMNode;
myDoc xmldom.DOMDocument;
L_PARSER xmlparser.PARSER;
tempNode xmldom.DOMNode;
myNodeName Varchar2(20);
Begin
--构造包含test节点的xml字符串,再用myNode获得test节点
newNodeStr := '<?xml version="1.0" encoding="UTF-8"?><test>测试节点</test>';
L_PARSER := xmlparser.NEWPARSER;
xmlparser.parseClob(L_PARSER, newNodeStr);
myDoc := xmlparser.GETDOCUMENT(L_PARSER);
myNode := xslprocessor.selectSingleNode(XMLDOM.makeNode(myDoc),'/test');
--在G_DOM中选择好要插入test节点的cos节点
coNode := xslprocessor.selectSingleNode(G_DOM,'/scene/cos'); --下面这句测试用的,可以"test",说明节点构建本身没错
myNodeName:= xmldom.getNodeName(myNode);
--将test节点插入cos节点,这句出错!!
coNode := XMLDOM.appendChild(coNode,myNode);
End;
前面构造都没问题,但在最后使用XMLDOM.appendChild方法时,外面会抛异常:
1-User-Defined Exception 不知道具体原因。代码如下,望高手指点!!
Procedure insertATestNode(G_DOM In Out XMLDOM.DOMNODE )Is
newNodeStr Varchar2(32767);
myNode xmldom.DOMNode;
coNode xmldom.DOMNode;
myDoc xmldom.DOMDocument;
L_PARSER xmlparser.PARSER;
tempNode xmldom.DOMNode;
myNodeName Varchar2(20);
Begin
--构造包含test节点的xml字符串,再用myNode获得test节点
newNodeStr := '<?xml version="1.0" encoding="UTF-8"?><test>测试节点</test>';
L_PARSER := xmlparser.NEWPARSER;
xmlparser.parseClob(L_PARSER, newNodeStr);
myDoc := xmlparser.GETDOCUMENT(L_PARSER);
myNode := xslprocessor.selectSingleNode(XMLDOM.makeNode(myDoc),'/test');
--在G_DOM中选择好要插入test节点的cos节点
coNode := xslprocessor.selectSingleNode(G_DOM,'/scene/cos'); --下面这句测试用的,可以"test",说明节点构建本身没错
myNodeName:= xmldom.getNodeName(myNode);
--将test节点插入cos节点,这句出错!!
coNode := XMLDOM.appendChild(coNode,myNode);
End;
解决方案 »
- OracleDataBase10·2·03ForVista 安装问题,安装检测到系统的主 IP 地址是 DHCP 分配的地址。
- 一个表和多个表进行左连接的问题?? 在线等,急!!!!!!!!!! 没有分了 有好心人帮帮忙么?
- 为什么我的对像表里的方法不可用啊
- 高手请教:表占空间无故疯狂增大!!!
- 大数据量连表查询的性能问题
- 请教一个数据集成平台实时数据的导入导出问题
- 帮我写个求最大值的查询语句?
- 在存储过程中动态建表时出现权限不足,如何解决
- oracle的case语句转换成函数
- 求助oracle按天分组查询问题
- 使用Toad 进行Health Check时出现下面的问题,请问如何优化?
- full outer join 引起的问题?
还是自己来回答下吧。
关键是下面几条语句,变量定义就省了。--有一个原始节点:
modify := xmldom.makeNode(xmldom.createElement(doc,'modify'));--这句是不会报错的
nodeOld := xmldom.makeNode(xmldom.createElement(doc,'nodeOld'));
tempNode := xmldom.appendChild(modify,nodeOld);--这句是会报错的。
nodeNew := xmldom.makeNode(xmldom.createElement(docMod,'nodeNew'));
tempNode := xmldom.appendChild(modify,nodeNew);看出区别来了吗?一个是在doc,一个是在docMod。我去年的问题就在这里。