0

我必须解析 XML 并在表格视图中显示数据。

这就是我的 XML 的样子。

<?xml version="1.0"?>
<FacLocation>
    <Facility Type="Project Room">
        <Code>L435</Code>
        <Code>L509C</Code>
    </Facility>
</FacLocation>

我必须在表格视图单元格中显示 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 的记录。有什么办法可以保留两个记录并显示它们?

4

1 回答 1

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;
于 2013-05-17T07:30:03.123 回答