2009-09-30 7 views
9

के लिए उद्देश्य-सी डोम एक्सएमएल पार्सर हैलो दोस्तों मैं आईओएम पर डीओएम का उपयोग कर एक्सएमएल दस्तावेज़ को पार्स करने के लिए एक रास्ता तलाश रहा हूं। मैं NSXMLParser के साथ SAX उपयोग किया गया है, लेकिन अब मैं वास्तव में एक डोम पेड़ चाहते हैं (या कुछ भी है कि जल्दी एक NSDictionary में XML दस्तावेज़ अनुवाद कर सकते हैं)
किसी भी मदद के लिए धन्यवाद
आईफोन

उत्तर

7

दुर्भाग्य से, NSXMLDocument (जो क्या करता है आप 'पूछ रहे हैं) आईफोन पर मौजूद नहीं है। आपको libxml2 का उपयोग करके अपना खुद का पार्सर रोल करना पड़ सकता है, या TouchXML या KissXML जैसे कुछ को आजमाएं।

+1

टचएक्सएमएल एआरसी का समर्थन नहीं करता है, इसके लिए जीडीएटी डोम पार्सर के लिए यह एक अच्छा ट्यूटोरियल मिला है। KissXML एआरसी का समर्थन करता है। – Sam

8

यदि आप SAX ईवेंट के बिना किसी उद्देश्य-सी फ्रंट के साथ libxml2 का उपयोग करना चाहते हैं, तो wrapper functions के इस उपयोगी सेट को देखें।

आप अपने XML दस्तावेज़ वस्तु के लिए एक XPath क्वेरी जारी करने और फाउंडेशन वर्ग ऑब्जेक्ट वापस पाने: NSArray, NSString, और NSDictionary, जैसे:

NSArray *queriedBuckets = PerformXMLXPathQuery(responseData, @"//*[local-name()='Buckets']/*[local-name()='Bucket']"); 

इन कार्यों में मदद पठनीयता और प्रयोज्य के साथ libxml2 की गति विलय उद्देश्य-सी कोड का।