SQL Server 2008:SQLXML 查询函数 .query('//mypath/text()') 不进行 XML 解码
在 Microsoft SQL Server 2008 中,当对 XML 流列值执行 .query('{xpath}/text()')
时,如果 XPath 选定节点的值包含“& amp;
”,返回值为“&
”而不是“&
”。
这是一个错误,还是我做错了什么?或者更确切地说,如果 XPath 查询中的 text() 不应该这样做,我如何使用 SQLXML XPath 获取未编码的文本,即相当于 .innerText(根据 W3C XML DOM)?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
没有错误,SQL XML 正确解码 XML 转义序列:
您的问题很可能是您对 XML 的误解 query 方法:它返回一个 XML 片段,因此所有内容都将被...转义,因为它是 XML:
No bug, SQL XML decodes XML escape sequences correctly:
What most likely is your problem is a misunderstanding on your part of the XML query method: it returns an XML fragment, and as such all content will be... escaped, since it's XML: