سؤال

أحتاج إلى تحميل ملف .xml من عنوان URL إلى كائن NSDATA لمزيد من التحليل مع بعض المكتبات التي أمتلكها بالفعل، (لكنهم يسألونني ملف .xml باسم Nsdata)، كيف يمكنني القيام بذلك؟

سيكون تنسيق عنوان URL شيء مثل هذا:

http://127.0.0.1/config.xml.

هل كانت مفيدة؟

المحلول

على افتراض أنه بيانات UTF-8. إذا كان محليا (أي داخل الحزمة) شيء مثل:

NSError *error;
NSString* contents = [NSString stringWithContentsOfFile:PATHTOLOCALFILE 
                               encoding:NSUTF8StringEncoding
                               error:&error];
NSData* xmlData = [contents dataUsingEncoding:NSUTF8StringEncoding];

إذا كان على موقع بعيد، فيجب أن يفعل شيء من هذا القبيل. لاحظ أنه متزامن. إذا كنت بحاجة إلى التحميل غير المتزامن، فستضطر إلى جعل الشبكات الخاصة بك أو استخدام شيء مثل AsihttpConnection لتنزيل الملف أولا.

NSError *error;
NSString* contents = [NSString stringWithContentsOfUrl:[NSURL URLWithString:URLOFXMLFILE] 
                               encoding:NSUTF8StringEncoding
                               error:&error];
NSData* xmlData = [contents dataUsingEncoding:NSUTF8StringEncoding];

نصائح أخرى

تستطيع الاتصال NSData- (id)initWithContentsOfURL:(NSURL *)aURL نمط. مزيد من المعلومات هنا:

http://developer.apple.com/documentation/cocoa/Reference/fountation/classes/nsdata_class/Reference/Reference.html.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top