我在此栏中有以下内容。 (不是正确的xml内容)
<menu=REDACTED - contact info>
<fillcolor=black>
<border=1>
<color=white>
<FontHeight=19>
<type=text>
我想从xml内容中提取第一个元素,如下所示。
<menu=REDACTED - contact info>
“ xmlpath”在这里无济于事,因为任何XML元素都没有结束标记。 我知道这不是适当的XML内容,但是当我在现有系统中玩耍时,我必须找出上述XML的方式。
问题:如何从整个内容中提取<menu=REDACTED - contact info>
?
答案 0 :(得分:1)
我可能会误解这个问题,但是我假设您是在说您想要第一个菜单元素,而不是第一个菜单元素,而不管它的名称是什么?
由于它是无效的xml,因此您将需要使用正则表达式之类的东西:
SELECT (REGEXP_MATCHES(str, '<menu=.*?>'))[1] FROM tes;
这将获得第一个菜单元素。参见示例https://www.db-fiddle.com/f/4jyoMCicNSZpjMt4jFYoz5/1