Я немного зациклился на этой проблеме. Вот такая ситуация: я разбираю xml-файл с позициями, я разбираю его хорошо, вещь Я хочу поместить различные элементы в NSDictionary (один NSDictionary для каждой позиции) и эти NSDictionary в NSMutableArray.Загрузка NSDictionary синтаксический анализ xml-файла
- (void) traverseElement:(TBXMLElement *)element {
NSMutableDictionary *position = [[NSMutableDictionary alloc]init];
NSArray *keys = [NSArray arrayWithObjects:@"cab",@"idagencedepart", @"idagencefinale",@"iddestinataire",@"idexpediteur",@"idtransporteurreexpedition",@"departement",@"message1", nil];
[position dictionaryWithValuesForKeys:keys];
do {
TBXMLAttribute * attribute = element->firstAttribute;
// if attribute is valid
while (attribute) {
if ([[TBXML elementName:element] isEqualToString:@"referencecolis"]) {
[position setObject:[TBXML textForElement:element] forKey:@"cab"];
NSLog(@"cab : %@",[TBXML textForElement:element]);
};
if ([[TBXML elementName:element] isEqualToString:@"idagencedepart"]) {
[position setObject:[TBXML textForElement:element] forKey:@"idagencedepart"];
NSLog(@"idagencedepart : %@",[TBXML textForElement:element]);
};
[modulectrlcle addObject:position];
attribute = attribute->next;
}
if (element->firstChild)
[self traverseElement:element->firstChild];
} while ((element = element->nextSibling));
}
}
Вот мой код. Он разбирает хорошо, но мой NSMutableArray (modulectrle) наполнен странными NSDictionaries ...
Можете ли вы также поместить ссылку на XML, чтобы мы могли проверить, действительно ли это файл XML? Обычно с анализаторами проблема заключается в том, что XML недействителен. –
Это не проблема анализатора, когда я NSLog результат синтаксического анализа, это моя проблема, когда я заполняю данные в NSDictionary. Где и когда я должен инициировать NSDictionary и добавить его в NSMutableArray? Когда я NSlog NSDictionary, это либо ноль, либо это то же самое сотни раз – Romain
Что такое modulectrlcle? Вы добавляете позицию в modulectrlcle. И в следующем цикле цикла вы добавляете снова значения к тому же NSDictonary и снова добавляете его в массив ... –