我正在尝试使用DBMS_XMLDOM获取XML节点的ID值,但我不知道如何...
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<ns2:instrumentosjuridicosActualizacionRespuesta xmlns:ns2="http://dcf.formacion.sepe.es/">
<origenSolicitud>10</origenSolicitud>
<retorno>EXCOM000</retorno>
<descripcion>Éxito en la operación</descripcion>
<retornoOperacion idBloque="1"><codigo>EXCOM001</codigo><descripcion>Éxito en la operación 1</descripcion></retornoOperacion>
<retornoOperacion idBloque="2"><codigo>EXCOM002</codigo><descripcion>Éxito en la operación 2</descripcion></retornoOperacion>
</ns2:instrumentosjuridicosActualizacionRespuesta>
</soapenv:Body>
</soapenv:Envelope>
我得到节点“retornoOperacion”
v_nodelist := xslprocessor.selectnodes (xmldom.makenode (v_doc), '//retornoOperacion');
然后我可以获得“codigo”和“descripcion”项目
v_node := xmldom.item (v_nodelist, i);
v_item := xslprocessor.valueof (v_node, 'codigo');
v_item := xslprocessor.valueof (v_node, 'descripcion');
但我想要idBloque
的价值。所以我想要值“1”和“2”...
有人知道吗?
答案 0 :(得分:0)
如果您想要节点v_node
的{{1}}属性的值,请使用以下内容:
v_item := dbms_xslprocessor.valueof (v_node, '@idBloque');
XPath表达式中的at符号(@
)用于表示您希望该属性的值具有后面的名称。