【发布时间】:2015-05-11 16:18:18
【问题描述】:
我正在尝试在 SQL Server 中查询 XML,但由于我的数据包含 [ 和 ] 而出现错误。
我的 XML 格式(第三方,所以我无法更改此格式并去掉方括号):
<MyRootElement>
<MyChildElement name="[Name1]"><MyChildElement>
<MyChildElement name="[Name2]"><MyChildElement>
<MyChildElement name="[Name3]"><MyChildElement>
</MyRootElement>
我想获取 xml 包含具有特定名称的 MyChildElement 的所有记录。
我试过了:
SELECT *
FROM MyTable
WHERE MyXmlColumn.exist(N'/MyRootElement/MyRootElement[@name=[Name2]]') = 1
SQL 错误信息:
XQuery 无效的源字符:[
如果我转义 [Name](=&#91;Name1&#93;) 的方括号,那么它会抱怨 &
那么我怎样才能使这个查询工作呢?
有没有更好的办法?
【问题讨论】:
标签: sql-server xml xpath escaping