मेरे पास कुछ एक्सएमएल है जो इस तरह दिखता है:
& lt;? Xml version = ' 1.0 '& gt; & LT; methodResponse & gt; & LT; पैरामीटर & gt; & LT; param & gt; & LT; मान & gt; & lt; सरणी & gt; & lt; डेटा & gt; & LT; मान & gt; & lt; सरणी & gt; & lt; डेटा & gt; & LT; मान & gt; & lt; dateTime.iso8601 & gt; 20100508T14: 49: 56 के & lt; /dateTime.iso8601> & lt; / मूल्य & gt; & LT; मान & gt; & lt; स्ट्रिंग & gt; & lt; / स्ट्रिंग & gt; & lt; / मूल्य & gt; & LT; मान & gt; & lt; स्ट्रिंग & gt; टिप्पणी & lt; / स्ट्रिंग & gt; & lt; / मूल्य & gt; & LT; मान & gt; & lt; स्ट्रिंग & gt; & lt; / स्ट्रिंग & gt; & lt; / मूल्य & gt; & Lt; मान & gt; & lt; स्ट्रिंग & gt; मील का पत्थर मील का पत्थर 1 हटाया गया & lt; / स्ट्रिंग & gt; & lt; / value & gt; & LT; मान & gt; & lt; पूर्णांक & gt; 1 & lt; / पूर्णांक & gt; & lt; / मूल्य & gt; & Lt; / डेटा & gt; & lt; / सरणी & gt; & lt; / मूल्य & gt; & Lt; / डेटा & gt; & lt; / सरणी & gt; & lt; / मूल्य & gt; & Lt; / param & gt; & Lt; / पैरामीटर & gt; & Lt; / methodRepsonse & gt;
NSXMLParser रिक्त मानों के लिए किसी भी डेटा को वापस नहीं दे रहा है जिसके परिणामस्वरूप 6 में इसके बजाय 4 आइटम के साथ एक सरणी उत्पन्न होती है।
क्या मैं कुछ भी कर सकता हूं NSXMLParser को रिक्त मानों के लिए एक रिक्त स्ट्रिंग वापस करने के लिए, ताकि जब यह लौटा जाए तो मैं डेटा के क्रम को बनाए रख सकूं?
इसलिए एक प्रतिनिधि के साथ एक त्वरित नमूना को सजा देने के बाद, पार्सिंग के दौरान जो कुछ हो रहा है वह प्रिंट करता है, मुझे कुछ भी गलत नहीं लगता है।
मुझे संदेह है कि आप एक गलत उम्मीद पर भरोसा कर रहे हैं कि कॉल के बीच didStartElement ...
और didEndElement ...
के लिए आपको एक पाया गया हैकर्तेर्स ...
खाली स्ट्रिंग के साथ कॉल करें? मेरा प्रश्न आप अपने प्रश्न का शीर्षक जिस तरह से प्रस्तुत किया है, उस पर आधारित है क्योंकि "रिक्त मूल्य" जैसी कोई चीज नहीं है। या तो कोई मान नहीं है, या नहीं है।
इसके बजाय अपने XML में & lt; string / & gt; बिल्कुल समान & lt; स्ट्रिंग & gt; & lt; / string & gt; के बजाय। आप अब भी शुरू / अंत सूचनाएं प्राप्त कर सकते हैं।
आपको अपना NSMutableString
(संभवतः जिस प्रकार से आप अपने & lt; स्ट्रिंग & gt; तत्वों के लिए उपयोग कर रहे हैं) बनाना चाहिए didStartElement ...
जब & lt; स्ट्रिंग & gt; पाया जाता है, उस स्ट्रिंग में संलग्न होता है अगर मिलेता हैक्टेक्टर्स ...
को कॉल किया जाता है (इसे खंड में मान के साथ एक से अधिक बार कॉल किया जा सकता है), और इसे didEndElement ...
।
यदि आप वास्तव में अधिक मजबूत होना चाहते हैं, तो आप भी एक स्ट्रिंग समाप्त होने से पहले एक नया तत्व की शुरुआत मिल जाए, यह भी मान लें यह वास्तव में आपके लिए एक त्रुटि है।
Comments
Post a Comment