Informix:extractvalue:使用XPATH提取第n个元素的属性值

时间:2019-01-11 16:36:25

标签: attributes extract informix

我正在尝试编写一个Informix存储过程,该过程使用extractvalue函数提取一些xml元素值和属性值。

如何在Informix中使用xpath提取第二个人的ID?我尝试了以下操作,并返回了null:

DROP PROCEDURE sp_parse_xml;
CREATE PROCEDURE sp_parse_xml()
RETURNING LVARCHAR(256);

DEFINE l_set SMALLINT;
DEFINE l_node_value LVARCHAR(256);
DEFINE xml_string   LVARCHAR(8000);

LET l_set = 0;

LET xml_string = '<personnel><person id="Jason.Ma"><name><family>Ma</family><given>Jason</given></name></person><person id="12345"><name><family>Smith</family><given>John</given></name></person><person id="67890"><name><family>Cook</family><given>Peter</given></name></person></personnel>';

 LET l_node_value = extractvalue(xml_string, '/personnel/person[2]/@id');
 --RETURN existsnode(xml_string, '/personnel/person[2]/@id');

RETURN l_node_value;

END PROCEDURE;

感谢您的帮助。

0 个答案:

没有答案