如何从 XML 字符串中解析标签内容?

Posted

技术标签:

【中文标题】如何从 XML 字符串中解析标签内容?【英文标题】:How to parse tag content out of an XML string? 【发布时间】:2018-03-06 15:04:19 【问题描述】:

我需要使用 SQL 查询从字符串中选择特定的 html 标记,如下例所示:

<input type="hidden" value="x1.html" id="x1" />
<img src="x2" style="display:none"    />
<input type="hidden" value="x3.html" id="x3" />

如何只返回&lt;img/&gt;标签内容如下图:

<img src="x2" style="display:none"    />

非常感谢您的回复

【问题讨论】:

...aaaa你试过什么......? ...aaaaa 和哪个 RDBMS? Sql 服务器? mysql? TeraData? 见***.com/help/mcve 在 SQL Server 数据库中 @MohammadAbuSaloum 你需要额外的帮助吗?我已经提交了对您问题的答案。 【参考方案1】:

使用PATINDEX 和SUBSTRING

查找 start = 50 的模式索引

SELECT PATINDEX('%<img%',col1) FROM test

查找子串长度 = 65 的模式索引

SELECT PATINDEX('%>%',SUBSTRING(col1,PATINDEX('%<img%',col1),LEN(col1))) FROM test

在 SUBSTRING 中使用

SELECT SUBSTRING(col1,PATINDEX('%<img%',col1),PATINDEX('%>%',SUBSTRING(col1,PATINDEX('%<img%',col1),LEN(col1)))) FROM test

[DEMO HERE]

【讨论】:

非常感谢,但是如果我有多个 = 条件,我如何将其插入表格中?

以上是关于如何从 XML 字符串中解析标签内容?的主要内容,如果未能解决你的问题,请参考以下文章

关于ribo的代码来解析从apk到xml的信息

黑莓:解析 XML 时如何获取 Node 的原始内容

在java中解析一个xml字符串?

从 XML 文件 (Java) 中的特定标签解析内容

如何在解析之前检查 XML 中是不是存在属性和标签?

谁用过Xstream 用其生成带有cdata标签的xml解析带有cdata标签的xml