Невозможно загрузить символ '@' с помощью loadxml - PullRequest
4 голосов
/ 21 октября 2011

Я пытался выполнить следующие строки

VARIANT_BOOL vBoolTestConnection;

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

bstrInput имеет следующие спецификации XML. loadXML возвращает false для указанного XML. 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>"

1 Ответ

2 голосов
/ 21 октября 2011

BSTR обычно UTF-16.Отправленная вами строка XML утверждает, что она использует кодировку UTF-8.

...