我正在从网址解析xml文件并正确显示内容。这是我的xml文件
<gold>
<price>
<title>22 K Gold - SGD $69.50</title>
</price>
<price>
<title>24 K Gold - SGD $62.50</title>
</price>
</gold>
现在它显示单元格中的每个内容,如下图所示
现在我需要在单元格中显示22kgold,在单元格中显示SGD $ 69.50。还需要在下一个元素中显示相同的内容。并且还要在两个标签中打印这些值。
这是我在.m文件中的代码
- (void)viewDidLoad
{
[super viewDidLoad];
NSMutableArray *tableArray = [[NSMutableArray alloc]init];
NSData *xmlData = [[NSData alloc]initWithContentsOfURL:[NSURL URLWithString:@"http://www.p41tech.com/img/application/android/server/kamala/goldprice.xml"]];
tbxml = [[TBXML alloc]initWithXMLData:xmlData];
TBXMLElement * root = tbxml.rootXMLElement;
if (root)
{
TBXMLElement * elem_PLANT = [TBXML childElementNamed:@"price" parentElement:root];
while (elem_PLANT !=nil)
{
TBXMLElement * elem_BOTANICAL = [TBXML childElementNamed:@"title" parentElement:elem_PLANT];
NSString *botanicalName = [TBXML textForElement:elem_BOTANICAL];
[tableArray addObject:botanicalName];
elem_PLANT = [TBXML nextSiblingNamed:@"price" searchFromElement:elem_PLANT];
}
}
label1.text=@"%@",botanicalName;
label2.text=@"%@",elem_PLANT;
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [tableArray count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
cell.backgroundView = [ [[UIImageView alloc] initWithImage:[ [UIImage imageNamed:@"download.png"] stretchableImageWithLeftCapWidth:0.0 topCapHeight:5.0] ]autorelease];
cell.textLabel.backgroundColor=[UIColor clearColor];
cell.textLabel.text = [tableArray objectAtIndex:indexPath.row];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
tableView.backgroundColor=[UIColor clearColor];
return cell;
}
我的标签内容没有显示,我需要用' - '分隔每个单元格中的字符串。请指导我..
提前致谢
答案 0 :(得分:1)
你可能意味着:
label1.text = [NSString stringWithFormat:@"%@", botanicalName];
label2.text = [NSString stringWithFormat:@"%@", elem_PLANT];
否则您将字符串“%@”分配给标签,并忽略botanicalName
和elem_PLANT
。
要将行分为两部分,您可以在tableView:cellForRowAtIndexPath:
方法中使用以下内容:
NSArray *parts = [[tableArray objectAtIndex:indexPath.row] componentsSeparatedByString:@" - "];
NSString *item = [parts objectAtIndex:0];
NSString *price = [parts objectAtIndex:1];
然后你可以:
使用其中一个UITableViewCellStyleSubtitle
,UITableViewCellStyleValue1
或UITableViewCellStyleValue1
单元格样式,并将item
和price
变量分配给{{ 1}}和cell.textLabel.text
属性,或
您可以添加自定义单元格视图,并将其分配给该视图中您自己的标签。