适用于iOS的NSXML Parse

时间:2013-02-10 22:34:47

标签: ios xml parsing nsxml

我有一个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>

我正在尝试获取每个国家/地区的名称及其坐标,并将其保存在数组中。 这个给了我&#34;地标&#34;对于elementValue和&#34; null&#34;为urlValue。

if ([elementName isEqualToString:@"Placemark"]){
    NSString *urlValue=[attributeDict valueForKey:@"name"];

    NSLog(@"I just found a start tag for %@ %@",elementName,urlValue);

}

我应该使用任何其他代表吗?我在这里做错了什么?

1 个答案:

答案 0 :(得分:1)

<name>不是<Placemark>的属性,它是子元素。您需要设置一个标志或一些此类方法,并等待解析器再次通过parser:didStartElement:...以“name”作为elementName来调用委托。当您到达“地标”上的parser:didEndElement:...以准备下一次迭代时,您可以再次关闭该标记。