我在SQL Server Management Studio上的存储过程.有一个包含
XML的列,我试图用XPATH访问但是我收到此错误:

Parsing XML with internal subset DTDs not allowed. Use CONVERT with style option 2 to enable limited internal subset DTD support`

我阅读了关于转换和导入xml的文档,但没有运气.

为了清楚起见,我将XML存储在表中的列中,现在想要在存储过程中将其查询到内存后使用xpath访问它.谁知道我应该怎么做?

解决方法

你最有可能得到这个,因为你的XML内部正在使用如下的文档定义:(DT000的
MSDN example)

<!DOCTYPE DOC [<!ATTLIST elem1 attr1 CDATA "defVal1">]><elem1>January</elem1>

Microsoft默认阻止此操作,因为它会创建潜在的安全漏洞.带有样式选项2消息的转换告诉您,您可以启用对DTD的部分支持,以便通过使用CONVERT function as it relates to XML来处理此XML.

我没有这样做的个人经验所以我提供的不仅仅是MSDN的链接.

唯一的另一种选择是在Microsoft不推荐的服务器上启用完整的DTD支持.

dawei

【声明】:邵阳站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。