0

我一直在尝试在 iOS 中进行 XML 解析。但不幸的是,我无法解析它。

你能帮我解决这个问题吗?我正在使用使用 NSXML 的 SAX 解析器。

数据是

<category>
<cat id="info" name="id1" value="val1" />
<cat id="info" name="id2" value="val2" />
</category>

如何使用 SAX 解析器获取值?任何帮助,将不胜感激。

谢谢

答案——

(获取属性)我是这样使用的(attributedict 是 didStartElement 方法中的 NSDictionary 对象)

NSString *attr = [attributeDict valueForKey:@"name"];
if([attr isEqualToString:@"id1"])
{
NSLog("%@", [attributeDict valueForKey:@"value"]);
}
4

1 回答 1

1

您需要使用 Data 初始化一个 NSXML 实例,然后使用 parse 方法。您需要设置一个 NSXMLParserDelegate 协议,然后使用以下方法,您将能够检索信息:

- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *) namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict;

- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName;

- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string;

您应该阅读有关它的苹果文档:

NSXML解析器

NSXMLParserDelegate 协议

您将在链接中找到 Apple 示例。

于 2012-06-17T15:05:48.947 回答