oracle循环解析xml
时间: 2023-07-12 10:38:26 浏览: 107
可以使用Oracle提供的XML类型和相关的XML函数来解析XML数据。以下是一个简单的示例,展示如何使用循环来解析XML数据:
```
DECLARE
xml_data CLOB := '<employees>
<employee>
<id>100</id>
<name>John Doe</name>
</employee>
<employee>
<id>101</id>
<name>Jane Smith</name>
</employee>
</employees>';
xml_doc XMLTYPE := XMLTYPE(xml_data);
emp_id NUMBER;
emp_name VARCHAR2(100);
BEGIN
FOR emp IN (SELECT extractvalue(value(emp), '/employee/id') emp_id,
extractvalue(value(emp), '/employee/name') emp_name
FROM TABLE(XMLSEQUENCE(extract(xml_doc, '/employees/employee'))) emp)
LOOP
DBMS_OUTPUT.PUT_LINE('Employee ID: ' || emp.emp_id);
DBMS_OUTPUT.PUT_LINE('Employee Name: ' || emp.emp_name);
END LOOP;
END;
```
在上面的示例中,我们使用XMLSEQUENCE函数来将XML数据转换为一个表,然后使用循环来遍历该表中的每个元素。在每次迭代中,我们使用extractvalue函数来提取员工的ID和姓名,并将它们存储在变量中进行后续处理。最后,我们使用DBMS_OUTPUT.PUT_LINE函数将结果输出到控制台。
阅读全文