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應用程序,所以我可以更改服務以嘗試刪除或更改名稱空間(指示如何執行此操作的讚賞),或者一旦獲取數據,我就可以將其從我的字符串中剔除到電話。
這兩個選項都覺得有點像黑客 - 有更好的選擇嗎?