我试图执行以下行
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编码.