Я использую парсер TBXML. Я не уверен, что это специфично для TBXML или нет. У меня есть XML-файл, в котором есть дата. Затем я анализирую это с помощью TBXML. Затем я хочу отформатировать эту дату с помощью NSDateFormatter, однако, когда я отлаживаю ее и выводю с помощью NSLog, она отображается как (ноль).
Вот мой XML:
<locations>
<location>
<place>null</place>
<geo>null</geo>
<location_date>2010-12-25 10:15:15 +0000</location_date>
</location>
<location>
...
</location>
</locations>
Вот так я разбираюсь. Я загрузил XML-файл в порядке (я протестировал другие узлы, и я могу вывести значения в порядке, поэтому он отлично читает XML. Я определяю root и затем выполняю цикл while вокруг узла. Я создал класс Location, который имеет соответствующие свойства для хранения извлеченных значений узлов XML. Все это NSString, однако я попытался NSDate для locationDate.
Должен ли я хранить дату по-другому в узле? Рад предоставить больше кода, если это необходимо.
if (root) {
// search for the first location element within the root element's children
TBXMLElement * location = [TBXML childElementNamed:@"location" parentElement:root];
NSDateFormatter *formatter=[[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyyMMdd"];
// if an location element was found
while (location != nil) {
// instantiate an location object
Location * aLocation = [[Location alloc] init];
TBXMLElement * locationDate = [TBXML childElementNamed:@"location_date" parentElement:location];
// if we found a locationDate
if (locationDate != nil) {
aLocation.locationDate = [TBXML textForElement:locationDate];
NSDate *locDate=[formatter dateFromString:aLocation.locationDate];
NSLog(@"the current location date is %@", locDate);
}
[locations addObject:aLocation];
[aLocation release];
// find the next sibling element named "location"
location = [TBXML nextSiblingNamed:@"location" searchFromElement:location];
}
}
Вывод на консоль, который я получаю:
the current location date is (null)
Идея состояла бы в том, чтобы затем поместить это в формат, чтобы я мог сравнить даты с текущим, однако я даже не могу прочитать даты в xml и отформатировать их должным образом.
Любая помощь приветствуется.
Пол