1
我使用的是iOS上KissXML解析从WCF REST Web服务返回数据的XML(用C#)使用KissXML处理WCF REST Web服务 - 我应该如何处理命名空间问题
我有麻烦的是KissXML不喜欢我从Web服务获得的XML数据中的名称空间。
在一个简单的例子XML数据,我得到这个样子的:
<ArrayOfItem xmlns="http://schemas.datacontract.org/2004/07/DataUpdateService" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><Item>Test</Item></ArrayOfItem>
KissXML似乎无法使用XPath解析这个XML
resultNodes = [xmlDoc nodesForXPath:@"//Item" error:&error];
如果我从删除默认命名空间XML字符串 - 然后它工作正常。
<ArrayOfItem xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><Item>Test</Item></ArrayOfItem>
所以这个XML是罚款,并使用Objective-C的上面我在阵列获得1个对象(如预期)。
所以问题是:我应该怎么做呢?我控制了服务和iOS应用程序,所以我可以更改服务以尝试删除或更改名称空间(指示如何执行此操作的赞赏),或者一旦获取数据,我就可以将其从我的字符串中剔除到电话。
这两个选项都觉得有点像黑客 - 有更好的选择吗?