我正在从Web服务中返回一些XML。基本上,XML看起来是这样的:使用NSXMLParser解析
<response>
<data>
More XML here but the it's escaped by XML entities
</data>
</response>
所以,你可以看到,我的XML是有效的,但数据标签里面的东西是逃脱了与XML实体。什么是最好的(最有效的)方式来将它提供给解析器?
我现在正在做的是,当我从Web服务获取数据时,我将它转换为NSString ....然后将“XML转义实体”替换为真正的.....然后将其转换回来到NSData中...然后将其馈入解析器。这似乎不是一个很好的解决方案,所以我想知道是否有更好的方法来做到这一点?
谢谢。
好吧,下面是我收到的XML:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Header><ActivityId CorrelationId="d39007b5-ee69-41c7-a61d-831b456f9ea3" xmlns="http://schemas.microsoft.com/2004/09/ServiceModel/Diagnostics">aa88d1cd-253c-48d1-abeb-62a880bea806</ActivityId></s:Header><s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><LoginResponse xmlns="http://MSS"><LoginResult><LoginInformation>
<User>
<UserID>612</UserID>
<UserName>Demo User</UserName>
<Email>[email protected]</Email>
<CompanyID>17034</CompanyID>
<CompanyName>PlanET Demonstration Agency</CompanyName>
</User>
</LoginInformation></LoginResult></LoginResponse></s:Body></s:Envelope>
正如你所看到的,一切都在被转义。
你能提供一个更好的例子吗?是否只是像&这样的数据中的东西被转义或者是否存在像<元素名称>等被转义的完整xml标记... – bryanmac
更新了我的问题。请检查一下。谢谢 – 0xSina