使用NSXMLParser的带有属性的iOS XML

时间:2012-10-10 15:04:12

标签: ios xml-parsing nsxmlparser

我想解析XML文件,并希望在TableView中显示信息。

首先是我的XML文件:

<?xml version="1.0" encoding="UTF-8"?>
<machines>
<machine id="1" project="100" name="first" status="inactive" />
<machine id="115" project="101" name="second" status="alive" />
<machine id="252" project="456" name="etc" status="alive" />
</machines>

这是我的首发Ocj-C代码:

- (void)parser:(NSXMLParser *)parser didStartElement:...{

if([elementName isEqualToString:@"machine"]){
    machine =[[Machines alloc]init];
}
}

- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
[nodecontent appendString:[string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]];
NSLog(@"node content = %@",nodecontent);
}

- (void)parser:(NSXMLParser *)parser didEndElement:...
{
if([elementName isEqualToString:@"machine"]){
    machine.name=nodecontent;
    [tableArray addObject:machine];
    [machine release];
    machine = nil;
}
}
  1. nodecontent的NSLog没有输出。

  2. 如何保存元素的属性? (有一个“机器”类,这里是id,项目,名称和状态)

  3. 希望有人可以帮助我:)。

1 个答案:

答案 0 :(得分:0)

- (void)parser:didStartElement:namespaceURI:qualifiedName:attributes:在字典中提供此信息(请参阅attributes参数)。然后由您自己保存并随意使用它。

有关详细信息,请参阅:Parsing XML data with NSXMLParserNSXMLParser Class Reference