0

我有一个存储在 SQL 中的 XML 字符串。插入 XML 的程序不会标记里面的所有对象。

字符串示例:

<XMLInfo Sample1="1234" Sample2="1234" Sample3="1234" Sample4="1234" />

我需要sample2完全删除该项目。使这一点复杂化的其他事情可能不是每次都Sample2遵循并且没有固定的长度。sample3sample2

4

1 回答 1

2

SQL 服务器

update test set data.modify('delete XMLInfo/@Sample2');

sql fiddle demo

PostgreSQL(我认为没有 xml 解析/修改功能,但有扩展):

create or replace function remove_attrib(data xml, attr text)
returns xml
as
$$
import xml.etree.ElementTree as ET
r = ET.fromstring(data)
del r.attrib[attr]
return ET.tostring(r)
$$ language plpython3u;

update test set data = remove_attrib(data, 'Sample2');
于 2013-08-26T17:25:40.697 回答