在我的程序中我正在读取blob消息,在解压缩之后我将其分配给VARCHAR2。
既然变量如下所示(XML格式),我想读取像host这样的标记元素的值。我已经尝试使用substring函数,但结果不一致,因为主机名字符串长度一直在改变..
你能否建议我选择让这个有用??
<fault>
<id>xxxxxxxxxfc709f06870000</id>
<host>***.***.com:2222</host>
<uri>**/**/**.***</uri>
<payload><?xml version="1.0" encoding="UTF-8"?>
答案 0 :(得分:1)
您应该使用xmltype而不是VARCHAR2。
val xmltype;
host VARCHAR2;
val := xmltype(varchar2_val);
host := val.extract('/host/text()').getStringVal()