问题描述
我在Base64 String中将XML编码为UTF-8。 首先,我从Base64解码为字节,然后使用System.Text.UTF8Encoding.UTF8.GetString(XMLDoc)获取xml作为字符串。 一切都很好,但是然后我必须在t-sql中将此XML作为XML使用。 sql中的XML由Unicode表示。 当我尝试将此nvarchar转换为SQL中的XML时,出现类似“ XML解析:第4行,字符32,非法xml字符”的错误 VB:
Dim XmlasBytes() As Byte = System.Convert.FromBase64String(dokBase64)
Dim XMLasString As String = System.Text.UTF8Encoding.UTF8.GetString(XmlasBytes)
Dim XmlIn As XElement = <Param><TEST><%= XMLasString %></TEST></Param>
SQL:
DECLARE @XMLDoc nvarchar(max)
SET @XMLDoc = @XML_IN.value('(Param/TEST)[1]','nvarchar(max)')
SELECT CAST(@XMLDoc AS XML)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)