首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解析具有相同名称但属性不同的元素

解析具有相同名称但属性不同的元素
EN

Stack Overflow用户
提问于 2011-10-20 12:19:19
回答 3查看 184关注 0票数 0

我是iPhone开发新手,这个问题可能很简单,但我不知道答案。

问题:--我有以下代码:

代码语言:javascript
复制
<im:image height="53">
     picture52x52.jpg
</im:image>

<im:image height="75">
     picture75x75.jpg
</im:image>

<im:image height="100">
     picture100x100.jpg
</im:image>

我只需要解析第二个元素(第二个元素,第二个图片),但我不知道如何解析。我总是解析三个元素,但我只需要一个。

EN

回答 3

Stack Overflow用户

发布于 2011-10-20 12:23:18

代码语言:javascript
复制
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict  
{ 
        NSString *imageSize = [NSString stringWithString:[attributeDict valueForKey:@"height"]];
        if([imageSize isEqualToString:@"75"])
         { 
            // parse something like this
         }
}
票数 2
EN

Stack Overflow用户

发布于 2011-10-20 12:32:11

您必须明智地使用这两种方法:

代码语言:javascript
复制
parser:foundCharacters:
parser:didEndElement:namespaceURI:qualifiedName:

请参阅此链接- 处理XML元素和属性

票数 0
EN

Stack Overflow用户

发布于 2011-10-21 06:32:20

让我再建议你一个解决方案,你可以把图片名字放在CDATA里面。生成这样的xml -

代码语言:javascript
复制
<im:image height="53">
    <![CDATA[picture52x52.jpg]]>
</im:image>

<im:image height="75">
     <![CDATA[picture75x75.jpg]]>
</im:image>

<im:image height="100">
     <![CDATA[picture100x100.jpg]]>
</im:image>

并简单地使用此委托方法:

- (void)parser:(NSXMLParser *)parser foundCDATA:(NSData *)CDATABlock

如果它是包含在CDATA块中的唯一元素,则为

希望你能理解;)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7835822

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档