我有一个具有以下结构的xml(kml):
<Document>
<Folder>
<Folder>
<name>A -</name>
<Placemark>
<name>Afghanistan</name>
<description></description>
<Style>
<PolyStyle>
<color>aaffffff</color>
<colorMode>random</colorMode>
</PolyStyle>
</Style>
<Polygon>
<outerBoundaryIs>
<LinearRing>
<coordinates> 65.62729644775391,37.33319854736328,0 65.64692687988283,37.45888137817383,0</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
<Placemark>
<name>Albania</name>我正在尝试获取每个国家的名称及其坐标,并将它们保存在数组中。这里给出了elementValue的"Placemark“和urlValue的"null”。
if ([elementName isEqualToString:@"Placemark"]){
NSString *urlValue=[attributeDict valueForKey:@"name"];
NSLog(@"I just found a start tag for %@ %@",elementName,urlValue);
}我应该使用任何其他委托吗?我在这里做错了什么?
发布于 2013-02-11 06:41:12
<name>不是<Placemark>的属性,它是一个子元素。您需要设置一个标志或某种类似的方法,并等待解析器再次通过parser:didStartElement:...调用委托,并将“elementName”作为名称。您可以在到达"Placemark“上的parser:didEndElement:...时再次关闭该标志,为下一次迭代做准备。
https://stackoverflow.com/questions/14803393
复制相似问题