Я общаюсь с телевизором через запросы SOAP, чтобы заставить его воспроизводить URL-адреса видео. Все это хорошо работает для простых URL-адресов, таких как http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4
, но как только аргументы добавляются к URL-адресу http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4?fname=fred&lname=jones
, XML становится неверным (символ '&' имеет особое значение в XML).
Мой вопрос заключается в том, есть ли метод, который я могу использовать для отправки сообщения, чтобы XML был действительным, а телевизор все еще мог расшифровать URL-адрес. Пример сообщения выглядит следующим образом:
<?xml version=\"1.0\"?>
<s:Envelope xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\" s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\">
<s:Body>
<u:SetAVTransportURI xmlns:u=\"urn:schemas-upnp-org:service:AVTransport:1\">
<InstanceID>0</InstanceID>
<CurrentURI>http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4</CurrentURI>
<CurrentURIMetaData>NOT_IMPLEMENTED</CurrentURIMetaData>
</u:SetAVTransportURI>
</s:Body>
</s:Envelope>
Я уже пробовал следующее:
- Включение URL-адреса в ‹[!CDATA[]]> (это не удается, поскольку телевизор просто берет весь текст из тега)
- Кодирование URL-адреса с помощью кодировки URL-адреса (замена специальных символов, таких как «&», на %26. Телевизор считает, что это недопустимый URL-адрес)
Любая помощь приветствуется