我正在使用一种NSXMLParserDelegate
方法从 XML 文件中获取数据,但我无法获取我想要的数据。xml文件是这样的:
<faces>
<bounds x='70' y='250' width='438' height='438'/>
<right-eye x='208' y='424'/>
<left-eye x='368' y='426'/>
<features s-avg='0.82' s-min='0.51' s-max='0.92'>
<point id='PR' x='223' y='425' s='0.76'/>
<point id='PL' x='362' y='424' s='0.91'/>
</faces>
从此文件中,我想获取属性x
,的值y
,并且仅获取属性等于s
的点元素的值。记录值应显示。id
"PR"
x=223
这是我的解析过程:
-(void) parser:(NSXMLParser *) parser didStartElement:(NSString *) elementName namespaceURI:(NSString *) namespaceURI qualifiedName:(NSString *) qName attributes:(NSDictionary *) attributeDict {
if ([elementName isEqualToString:@"point"])
{
NSString *idvalue = [attributeDict objectForKey:@"id"];
if (idvalue==@"PR")
{
NSString *xvalue = [attributeDict objectForKey:@"x"];
NSLog(@"%@",xvalue);
NSString *yvalue = [attributeDict objectForKey:@"y"];
NSLog(@"%@",yvalue);
NSString *svalue = [attributeDict objectForKey:@"s"];
NSLog(@"%@",svalue);
}
}
我会得到一个像这样的日志:
X=223 X=362 Y=425 Y=424 S=0.76 S=0.91
所有元素的x
、y
和的值。s
如何仅获取属性 ID="PR" 的元素的值?我希望有人能给我一个理由,或者如果你能指出我最终解决这个问题的方向,因为它成为背后的真正痛苦。