मैं एक गेम बनाना चाहता हूं, जो एक स्तर प्रणाली का उपयोग करेगा। तो मैं अपने स्तर को स्टोर करना चाहता हूं और खेल के दौरान उन्हें बदलने में सक्षम होना चाहता हूं (राज्य को बचाने के लिए)। तो मैंने स्तर भंडारण के लिए एक्सएमएल का उपयोग करने का फैसला किया। मुझे XML से पढ़ने के लिए NSXmlParser क्लास मिला, लेकिन मुझे स्तर की स्थिति को सहेजने के लिए कोई लेखक नहीं मिला। मेरे खेल में स्तर की स्थिति और स्तर बहुत समान हैं (मेरे पास बहुत सी जंगली वस्तुएं हैं), इसलिए मैं स्तर के डेटा को उस स्तर से अलग करने के लिए नहीं चाहता जो इसके संबंधित है। समस्या यह है कि मुझे आईफोन पर एक्सएमएल फाइलों को आसानी से संशोधित करने का कोई तरीका नहीं मिल रहा है। शायद मैं एक बुरा दृष्टिकोण का उपयोग कर रहा हूँ।आईओएस एक्सएमएल लेखक वर्ग
उत्तर
आप XML को पढ़ने और लिखने के लिए सी libary libxml2
का उपयोग कर सकते हैं। यहां एक त्वरित परिचय है: Cocoa Samurai: Getting Some XML Love with libXML2।
हालांकि, क्या आपने CoreData का उपयोग करने या NSCoding
प्रोटोकॉल को लागू करने पर विचार किया है? NSCoding
मौजूदा कक्षाओं में जोड़ना आसान होगा।
आप एक NSDictionary
में डेटा फेंक, तो आप (कैविएट्स के साथ) कर सकता है:
[myDictionary writeToFile:pathToPlist atomically:YES];
खुला स्रोत XML stream writer for iOS का प्रयास करें:
- ऑब्जेक्टिव-सी में लिखा, एक भी ज । और .m फ़ाइल नाम स्थान समर्थन के लिए
- एक @protocol और वे इसके बिना
उदाहरण के लिए:
// allocate serializer
XMLWriter* xmlWriter = [[XMLWriter alloc]init];
// start writing XML elements
[xmlWriter writeStartElement:@"Root"];
[xmlWriter writeCharacters:@"Text content for root element"];
[xmlWriter writeEndElement];
// get the resulting XML string
NSString* xml = [xmlWriter toString];
यह निम्न XML स्ट्रिंग का उत्पादन:
<Root>Text content for root element</Root>
एलजीपीएल (मेरी राय में) आईओएस परियोजनाओं के लिए एक अच्छा लाइसेंस नहीं है। इसका मतलब है कि अगर मैं आपके कोड का उपयोग करना चाहता हूं, तो मैं अपने आवेदन को पुनः लिंक करने योग्य रूप में रिलीज़ करने के लिए बाध्य हूं (यानी मुझे ऑब्जेक्ट फाइलों को रिलीज़ करना होगा, जो मैं कर सकता था लेकिन यह अतिरिक्त परेशानी का एक गुच्छा है)। क्या आपने मोज़िला पब्लिक लाइसेंस का उपयोग करने पर विचार किया है? यह लोगों को एमपीएल लाइसेंस प्राप्त फ़ाइलों में किए गए परिवर्तनों को जारी करने के लिए बाध्य करता है, लेकिन ऑब्जेक्ट फ़ाइलों को जारी करने की आवश्यकता नहीं होती है। – JosephH
हर किसी के लिए कम परेशानी, बेहतर। मैंने जीएनयू ऑल-परमिटिव लाइसेंस जोड़ा है, क्योंकि ऐसा नहीं है कि किसी तीसरे पक्ष के बदलाव किसी भी दिन लाइब्रेरी में जल्द ही किए जाएंगे। – ThomasRS
मैं का उपयोग कर की सिफारिश करेंगे KissXML। लेखक ने आपके जैसी ही स्थिति में शुरुआत की और libxml के आस-पास एक एनएसएक्सएमएल संगत एपीआई रैपर बनाया। उन्होंने अपने ब्लॉग पर विकल्पों और निर्णयों here पर चर्चा की।
इसके अलावा, यह संभवतः एक डुप्लिकेट है: http://stackoverflow.com/questions/3849270/iphone-how-to-write-xml-files/3973554#3973554 – codelark
- 1. एक्सएमएल लेखक और मेमोरी स्ट्रीम सी #
- 2. अच्छा और सरल रूबी एक्सएमएल लेखक?
- 3. सी # एक्सएमएल - एक्सएमएल लेखक के साथ एकाधिक नाम स्थान घोषणा
- 4. आईओएस - एक्सएमएल सुंदर प्रिंट
- 5. आईओएस संपत्ति वर्ग
- 6. आईओएस ट्यूटोरियल में एक्सएमएल पार्सिंग
- 7. लेखक या आउटपुटस्ट्रीम?
- 8. ट्विटर: लेखक
- 9. आईओएस CLLocationManager एक अलग वर्ग
- 10. एक कस्टम लेखक
- 11. उत्कृष्ट लेखक प्रलेखन
- 12. "उपनाम" गिट लेखक/committers?
- 13. एक एचटीएमएल पाठ लेखक
- 14. गिटहब - सूची लेखक द्वारा
- 15. एक्सएमएल
- 16. सी ++ वीटीके एक्सएमएल लेखक (vtkImageData) - एक ही vti फ़ाइल में कई चर
- 17. फ्लास्क-प्रिंसिपल ट्यूटोरियल (ऑथ + लेखक)
- 18. सभी शाखाओं पर प्रति लेखक
- 19. लेखक एक परमाणु विधि है?
- 20. वर्डप्रेस लेखक यूआरएल होम पेज
- 21. पायथन सीएसवी लेखक गलत विभाजक?
- 22. पायथन 2 सीएसवी लेखक विंडोज
- 23. pthreads: पाठक/लेखक ताले, लॉक
- 24. सशर्त एक्सएमएल क्रमबद्धता
- 25. वर्ग
- 26. प्रतिक्रिया वर्ग के लिए कोई संदेश बॉडी लेखक नहीं मिला है ArrayList
- 27. एक्सएमएल
- 28. एक्सएमएल
- 29. एक्सएमएल
- 30. एक्सएमएल
यह कोई XML उपयोग के साथ है, हाँ? – Andrew
@ एंड्रयू परिणामस्वरूप फ़ाइल एक्सएमएल (विशेष रूप से, प्लास्ट प्रारूप में) –