微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c – 无法使用loadxml加载“@”符号

我试图执行以下行

VARIANT_BOOL vBoolTestConnection;

vBoolTestConnection=m_spXMLDom->loadXML(bstrInput.m_str);

bstrInput具有以下XML规范.对于指定的XML,loadXML返回false. bstrInput在密码标记中有’@’.如果我用任何其他密码字符替换@符号,Load XML工作正常.你能帮我找到解决方案吗?

"<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope xmlns:SOAP-
 ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-
 ENC="http://schemas.xmlsoap.org/soap/encoding/" 
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 xmlns:xsd="http://www.w3.org/2001/XMLSchema" SOAP-
 ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-
 ENV:Body><CheckValidUser 
 xmlns="http://systemsys"><UserName>HGDXJHSAD</UserName><Password>&</Password></CheckValidUs
er></SOAP-ENV:Body></SOAP-ENV:Envelope>"

解决方法

BSTR通常是UTF-16.您发布的XML字符串声称它使用的是UTF-8编码.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐