У меня есть XML (KML) с этой структурой:NSXML Анализировать для прошивки
<Document>
<Folder>
<Folder>
<name>A -</name>
<Placemark>
<name>Afghanistan</name>
<description></description>
<Style>
<PolyStyle>
<color>aaffffff</color>
<colorMode>random</colorMode>
</PolyStyle>
</Style>
<Polygon>
<outerBoundaryIs>
<LinearRing>
<coordinates> 65.62729644775391,37.33319854736328,0 65.64692687988283,37.45888137817383,0</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
<Placemark>
<name>Albania</name>
Я пытаюсь получить название каждой страны и их координату и сохранить их на массивах. Это дает мне «метку» для elementValue и «null» для urlValue.
if ([elementName isEqualToString:@"Placemark"]){
NSString *urlValue=[attributeDict valueForKey:@"name"];
NSLog(@"I just found a start tag for %@ %@",elementName,urlValue);
}
Следует ли использовать какой-либо другой делегат? Что я здесь делаю неправильно?
и как я получаю значение имени? – BlackM
'parser: foundCharacters:' будет вызываться хотя бы один раз, возможно, несколько раз. Вы накапливаете символы до тех пор, пока не нажмете на конец текущего элемента, в данном случае «имя». Возможно, вам будет проще использовать стороннюю библиотеку, например [TBXML] (http://www.tbxml.co.uk/TBXML/TBXML_Free.html), которая предназначена для такого рода разбора. – rsswtmr
Итак, я буду использовать глобальную переменную как флаг и читать все символы, когда elementName = name? – BlackM