我正在通过 SOAP 请求与电视通信,以使其播放视频网址。这一切都适用于简单的 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)
任何帮助表示赞赏