在PL/SQL中,您可以使用XMLQuery函数来查询XML数据
CREATE TABLE xml_data (
id NUMBER PRIMARY KEY,
xml_content XMLType
);
INSERT INTO xml_data (id, xml_content) VALUES (
1,
XMLType('<employees>
<employee>
<id>101</id>
<name>John Doe</name>
<email>john.doe@example.com</email>
</employee>
<employee>
<id>102</id>
<name>Jane Smith</name>
<email>jane.smith@example.com</email>
</employee>
</employees>')
);
COMMIT;
DECLARE
v_id NUMBER := 101;
v_name VARCHAR2(100);
BEGIN
SELECT XMLQuery(
'for $i in /employees/employee
where $i/id = $id_value
return $i/name'
PASSING xml_content AS "emp", v_id AS "id_value"
RETURNING CONTENT
).getstringval()
INTO v_name
FROM xml_data
WHERE id = 1;
DBMS_OUTPUT.put_line('Employee name: ' || v_name);
END;
/
在这个示例中,我们使用XMLQuery函数查询ID为101的员工的姓名。我们将查询路径、变量和返回值传递给XMLQuery函数。最后,我们将结果存储在v_name变量中并输出。
注意:在实际应用中,请确保正确处理可能的异常,例如XML数据不存在或查询路径无效等情况。