0
我有一个XML文件。 这是它的一部分。解析iOS中的XML:标记
<Placemark>
<kml:name xmlns:kml="http://www.opengis.net/kml/2.2">Placename</kml:name>
<kml:description xmlns:kml="http://www.opengis.net/kml/2.2">
</kml:description>
<kml:Point xmlns:kml="http://www.opengis.net/kml/2.2">
<kml:coordinates>121.142122637505,22.9071362429957,0</kml:coordinates>
</kml:Point>
<styleUrl>#ylwPng</styleUrl>
</Placemark>
这是我的代码
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName
namespaceURI:(NSString *)namespaceURI
qualifiedName:(NSString *)qName
attributes:(NSDictionary *)attributeDict
{
NSString *ident = [attributeDict objectForKey:@"id"];
KMLStyle *style = [_placemark style] ? [_placemark style] : _style;
// Style and sub-elements
if (ELTYPE(Style)) {
if (_placemark) {
[_placemark beginStyleWithIdentifier:ident];
} else if (ident != nil) {
_style = [[KMLStyle alloc] initWithIdentifier:ident];
}
} else if (ELTYPE(PolyStyle)) {
[style beginPolyStyle];
} else if (ELTYPE(LineStyle)) {
[style beginLineStyle];
} else if (ELTYPE(color)) {
[style beginColor];
} else if (ELTYPE(width)) {
[style beginWidth];
} else if (ELTYPE(fill)) {
[style beginFill];
} else if (ELTYPE(outline)) {
[style beginOutline];
}
// Placemark and sub-elements
else if (ELTYPE(Placemark)) {
_placemark = [[KMLPlacemark alloc] initWithIdentifier:ident];
} else if (ELTYPE(Name)) {
[_placemark beginName];
} else if (ELTYPE(Description)) {
[_placemark beginDescription];
} else if (ELTYPE(styleUrl)) {
[_placemark beginStyleUrl];
} else if (ELTYPE(Polygon) || ELTYPE(Point) || ELTYPE(LineString)) {
[_placemark beginGeometryOfType:elementName withIdentifier:ident];
}
// Geometry sub-elements
else if (ELTYPE(coordinates)) {
[_placemark.geometry beginCoordinates];
}
// Polygon sub-elements
else if (ELTYPE(outerBoundaryIs)) {
[_placemark.polygon beginOuterBoundary];
} else if (ELTYPE(innerBoundaryIs)) {
[_placemark.polygon beginInnerBoundary];
} else if (ELTYPE(LinearRing)) {
[_placemark.polygon beginLinearRing];
}
}
但我的代码不能正常工作。我的代码只能成功解析下面的XML。
<Placemark>
<name>Placename/name>
<description></description>
<styleUrl>#ylwPng</styleUrl>
<Point>
<coordinates>121.142122637505,22.90713624299571,0</coordinates>
</Point>
</Placemark>
我想改变它以适应我的XML,但我不知道该怎么做。