Я пишу приложение, которое использует XML SOAP. Код, который пишет запрос, к сожалению, не в моих руках, так как это файл DLL, который был передан только мне. Я скачал dotPeek Jetbrain, чтобы декомпилировать файл DLL и посмотреть на код, там я обнаружил, что тело запроса мыльного сообщения пишется как таковое
string message = "<Value>" + myValue + "</Value>";
и затем анализируется как XElement.
Теперь это работает большую часть времени, так как большинство запросов принимают нормальные значения (например, <Value>true</Value>
). Но в технологии xml, над которой мы работаем, есть специальный протокол, в котором мы должны передавать целые строки xml в качестве значения, например
string myValue = "<?xml version=\"1.0\" encoding=\"utf-8\"?><Foobar ID=\"123\" />";
Это выдает ошибку:
Неожиданное объявление XML. Декларация XML должна быть первым узлом
в документе, и символы пробела не допускаются
до этого.
Как будет выглядеть мое получившееся XML-тело:
<Value><?xml version="1.0" encoding="utf-8"?><Foobar ID="123" /></Value>
Могу ли я как-нибудь передать эту строку XML, избегая ошибки? Я пишу все это на C #. Спасибо за помощь.