【问题标题】:XML parsing in iOS, unable to get the valuesiOS中的XML解析,无法获取值
【发布时间】:2012-06-19 19:09:19
【问题描述】:

我一直在尝试在 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"]);
}

【问题讨论】:

  • “我使用的是 SAX 解析器”。呃,也许你应该告诉我们哪个 SAX 解析器以及你遇到了什么问题。

标签: ios xml nsxmlparser


【解决方案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;

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

NSXMLParser

NSXMLParserDelegate Protocol

您可以在链接中找到 Apple 示例。

【讨论】:

  • 谢谢,文档帮助了 :)
猜你喜欢
  • 1970-01-01
  • 2012-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-16
  • 1970-01-01
相关资源
最近更新 更多