【问题标题】:read a tag from a string in XML format从 XML 格式的字符串中读取标签
【发布时间】:2014-10-19 18:23:39
【问题描述】:

在我的程序中,我正在阅读一条 blob 消息,并在提取它后将其分配给 VARCHAR2。

现在,由于变量如下所示(XML 格式),我想读取一个标签元素的值,如 host。我尝试过使用子字符串函数,但结果不一致,因为主机名字符串长度不断变化..

您能否建议我一些选项来让这个工作..?

<fault>
<id>xxxxxxxxxfc709f06870000</id>
<host>***.***.com:2222</host>
<uri>**/**/**.***</uri>
<payload><?xml version="1.0" encoding="UTF-8"?>

【问题讨论】:

标签: sql xml oracle


【解决方案1】:

您应该使用 xmltype 而不是 VARCHAR2。

val xmltype; 
host VARCHAR2;

val := xmltype(varchar2_val); 
host := val.extract('/host/text()').getStringVal()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-18
    • 2013-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多