相关疑难解决方法(0)

在SQL Server中,确定给定字符串是否为有效XML的最佳方法是什么?

第三方组件正在填充nvarchar表中具有某些值的列.大多数情况下,它是一个人类可读的字符串,但偶尔它是XML(如果在第三方comp中有一些内部异常).

作为一个临时解决方案(直到他们修复它并始终使用字符串),我想解析XML数据并提取实际消息.

环境: SQL Server 2005; 字符串总是小于1K; 这张表中可能有几千行.


我遇到了几个解决方案,但我不确定它们是否足够好:

  1. 调用sp_xml_preparedocument存储过程并将其包装在TRY/CATCH块周围.检查返回值/句柄.
  2. 编写托管代码(在C#中),再次异常处理并查看它是否是有效字符串.

这些方法似乎都没有效率.我正在寻找类似于ISNUMERIC():ISXML()函数的东西.还有其他更好的检查字符串的方法吗?

xml t-sql sql-server-2005

15
推荐指数
2
解决办法
1万
查看次数

标签 统计

sql-server-2005 ×1

t-sql ×1

xml ×1