2015-05-11 2 views
0

Есть в любом случае через, через которые я могу разобрать этот XML-файл, который находится в этом формате: -Разбор XML-файл в указанном формате IOS

<?xml version="1.0" encoding="utf-8"?> 
<CountryList> 
    <Country CountryId="AF">Afghanistan</Country> 
    <Country CountryId="AX">Akrotiri</Country> 
    <Country CountryId="AL">Albania</Country> 
........................................... 
........................................... 

Мне нужен идентификатор Страны и имя : - т.е. «AL» и «Albania», Итак, возможно ли проанализировать указанный XML и сохранить идентификатор страны и имя страны в массиве. Любое предложение будет полезно.

+0

@Wain, я не пробовал ничего, а за что я могу видеть, это XML не в правильном формате, благодаря которому я могу проанализировать идентификатор страны и название страны, и для идентификатора страны нет конкретного тега. Вот почему я спрашиваю, есть ли другой альтернативный способ его анализа. – Vizllx

+0

CountryId на самом деле является атрибутом XML, посмотрите на этот вопрос: http://stackoverflow.com/questions/6787078/how-to-parse-xml-attributes-in-objective-c – Jasper

ответ

0

Используйте NSDictionary (значение для ключа) для сохранения значений. Вы можете использовать эту библиотеку для получения и сохранения значений:

Parse XML Вы можете найти все инструкции для извлечения необходимых данных на указанной странице.

+0

Спасибо, но даже я знаю, что я должны использовать значение NSDictionary valueForKey, чтобы получить значение, но я не нашел ответа на ваш пост. – Vizllx

+0

Ответ? Вы ищете код для анализа XML? –

+0

Ваша ссылка помогла мне. Но вы должны включить некоторый пример кода, как это сделать, только отправка ссылки в ответ не является хорошим способом. Надеюсь, что я справлюсь с моим заявлением. – Vizllx

0

С помощью Омер Waqas Хана ссылку, просто размещение кода, вы можете явно найти класс XMLDictionary по следующей ссылке nicklockwood/XMLDictionary


#import "XMLDictionary.h" 

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"EDUCountry" ofType:@"xml"]; 
NSDictionary *xmlDoc = [NSDictionary dictionaryWithXMLFile:filePath]; 
NSLog(@"xmlDOC=%@",xmlDoc); 
NSArray *arr=[xmlDoc valueForKey:@"Country"]; 
NSLog(@"Country Name and code=%@",[arr objectAtIndex:4]); 
0

вы можете разобрать этот XML с помощью NSXmlParser

следующими способами:

  1. didStartElement

  2. foundCharacters

вы можете получить CountryId в attributeDict

Swift code: 

в didStartElement метода:

currentElement = elementName // currentElement is global variable which store the current element name 
if elementName == "Country" 
{ 
let id = attributeDict["CountryId"] as? NSString // attributeDict is parameter variable in didStartElement method 
// here you can store id in array 
} 

Если какое-либо значение containt тега, то он будет вызывать метод foundCharacters

записи ниже кода в методе foundCharacters Like This:

if currentElement == "Country" 
{ 
// store country name from here to array there is paramenter name `string` in `foundCharacters` method 
} 
Смежные вопросы