2012-04-11 8 views
1

名前空間の問題をどのように処理するかは- 私はデータは、WCFのREST Webサービスから返されたXMLを解析するためのiOS上でKissXMLを使用してい

私が持っている悩みがある(C#で書かれました) 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は、私はからデフォルトの名前空間を削除した場合

resultNodes = [xmlDoc nodesForXPath:@"//Item" error:&error]; 

このXMLを解析するためにXPathを使用するように見えることはできませんXML文字列 - それはうまく動作します。

<ArrayOfItem xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><Item>Test</Item></ArrayOfItem> 

このXMLは問題ありません。上記のobjective-cを使用すると、(期待通りに)配列内に1つのオブジェクトが得られます。

質問は次のとおりです。これについて私は何をしていますか?私はサービスとiOSアプリケーションの両方をコントロールできるので、ネームスペースを削除または変更しようとするサービスを変更するか(これを行う方法へのポインタ)、またはデータを取得したら文字列から取り除くことができます電話に。

これらのオプションはどちらもハックのように感じます。より良いオプションはありますか?

答えて

0

defaultOutgoingResponseFormatをJsonに変更することをお勧めします。 とxmlの代わりにそれを処理します。

なぜですか?ここをクリックしてください: http://www.json.org/xml.html

また、あなたの問題を解決します: