Nsxml解析器无法检测某些元素

  • 本文关键字:元素 Nsxml ios nsxmlparser
  • 更新时间 :
  • 英文 :


我正在使用NSXMLPARSER来解析upnp soap响应。虽然它可以检测委托中的某些元素,但无法检测其他元素。我对提取upnp:albumArtURI元素特别感兴趣,但失败了。有人知道吗?

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetPositionInfoResponse xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"><Track>1</Track><TrackDuration>0:04:34</TrackDuration><TrackMetaData><DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="sonos.com-http:*:application/ogg:*" duration="0:04:34">x-sonos-http:4823265.ogg?sid=23&amp;flags=32&amp;sn=3</res><r:streamContent></r:streamContent><upnp:albumArtURI>/getaa?s=1&amp;u=x-sonos-http:4823265.ogg?sid=23&flags=32&sn=3</upnp:albumArtURI><dc:title>明年今日</dc:title><upnp:class>object.item.audioItem.musicTrack</upnp:class><dc:creator>陈奕迅</dc:creator><upnp:album>陈奕迅 广东精选 EASON CHAN CANTONESE COLLECTION</upnp:album></item></DIDL-Lite></TrackMetaData><TrackURI>x-sonos-http:4823265.ogg?sid=23&flags=32&sn=3</TrackURI><RelTime>0:00:06</RelTime><AbsTime>NOT_IMPLEMENTED</AbsTime><RelCount>2147483647</RelCount><AbsCount>2147483647</AbsCount></u:GetPositionInfoResponse></s:Body></s:Envelope>

排序。最初,我对soap响应进行了编码,以替换"&Quot;"在解析之前使用"等,因为我无法成功解析它,但它不知何故在响应中添加了一些错误。

我无法成功解析原始响应的原因是它的结构很复杂。现在我已经使用XMLDictionary首先解析原始响应以提取"trackMetaData"字符,其中"upnp:albumArtURI"是内部元素之一,然后再次使用XMLDiction解析"trackMetaData"以提取"upnp:albumArtURI"的字符。

困了两周,现在解决了!!!快乐的

最新更新