我必须解析XML并在表视图中显示数据。
这就是我的XML的样子。
<?xml version="1.0"?>
<FacLocation>
<Facility Type="Project Room">
<Code>L435</Code>
<Code>L509C</Code>
</Facility>
</FacLocation>
我必须在tableview单元格中显示L435和L509C。
但XML只存储最后一条记录L509C。
在我的cellForRowAtIndexPath;
RoomCell * cell = [tableView dequeueReusableCellWithIdentifier:@“RoomCell”];
if (!cell)
{
cell =[[[NSBundle mainBundle] loadNibNamed:@"RoomCell" owner:nil options:nil] objectAtIndex:0];
}
NSLog(@"This is NSLog!");
Rooms *rc = [self.roomsArray objectAtIndex:indexPath.row];
[cell.RoomLabel setText:[rc roomCode]];
cell.contentView.backgroundColor = [UIColor colorWithRed:0.75 green:0.93 blue:1 alpha:1];
[self.tableView setSeparatorColor:[UIColor colorWithRed:0.55 green:0.55 blue:0.55 alpha:1]];
return cell;
我在didEndElement方法中有这个;
if ([elementName isEqualToString:@"Code"])
{
tempRoom.roomCode = self.tempString;
NSLog(@"tempString (Module Room): %@", tempString);
}
if ([elementName isEqualToString:@"Facility"])
{
[self.roomsArray addObject:tempRoom];
}
现在问题是它只读取最后一条记录。这意味着它只读取L509C。它丢弃了L435的记录。有什么方法可以记录并显示它们吗?
答案 0 :(得分:0)
您需要在数组中添加这些值
[self.roomsArray addObject:@"L435"];
[self.roomsArray addObject:@"L509C"];
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
// Return the number of sections.
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
// Return the number of rows in the section.
return [self.roomsArray count];
}
编辑后
if (!cell)
{
cell =[[[NSBundle mainBundle] loadNibNamed:@"RoomCell" owner:nil options:nil] objectAtIndex:0];
}
NSLog(@"This is NSLog!");
// ------------- Change here
[cell.RoomLabel setText:[self.roomsArray objectAtIndex:indexPath.row]];
cell.contentView.backgroundColor = [UIColor colorWithRed:0.75 green:0.93 blue:1 alpha:1];
[self.tableView setSeparatorColor:[UIColor colorWithRed:0.55 green:0.55 blue:0.55 alpha:1]];
return cell;