0

我正在通过 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)

任何帮助表示赞赏

4

1 回答 1

0

尝试使用&amp;而不是&

http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4?fname=fred&amp;lname=jones
于 2015-02-12T03:21:08.277 回答