2012-02-14 4 views
0

XPathを使用せずにNSXMLDocumentを使用すると、XML文書を簡単に解析し、それをデシリアライズしてカスタムオブジェクトにデシリアライズしてオブジェクトツリー階層を作成できますか?NSXMLDocumentをカスタムオブジェクトに解析する

たとえば、以下に示すxmlがある場合、詳細をRestaurantオブジェクトとその中のコンテンツオブジェクトに入れることは可能ですか?

<restaurants> 
    <content>spanish name</content> 
    <content>english name</content> 
</restaurant> 
<spa> 
    <content>spa spanish name</content> 
    <content>spa english name</content> 
</spa> 

上記の答えをiOSのkissxmlで拡張するために使用します。 kissXMLドキュメントでは、XMLパーサはNSXMLDocumentと同じように動作するため、NSXMLDocumentを使用して質問しました。

答えて

1

予想されるコンテンツ構造がわかっている場合は、NXMLParserを使用して、必要なビットを探し、前のビットを追跡し、見つかったときにオブジェクトを構築するのが最も簡単です。

ツリーベースのアプローチが必要な場合は、XQueryとXPathを学習することを検討してください。すべてがそれほど悪くはありません。それらがなければ、NSXMLDocumentが実際にあなたに与える唯一のことは、Cocoaバインディングです。

一日の終わりに、何らかの形でデータを変換する必要があります。

NSXMLDocumentを使用すると、可能であればXML DTDに対して妥当性を確認して、適切なデータが得られるようにすることができます。

NSXMLParserを使用すると、正式なDTDなしで処理できます。 データの大きさ、解析方法、テストデータで試行錯誤して、必要なものや必要なものを確実に把握するだけです。

関連する問題