首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >KissXML不返回字符串

KissXML不返回字符串
EN

Stack Overflow用户
提问于 2012-02-14 16:55:22
回答 3查看 2.1K关注 0票数 2

我有一个这样的XML示例:

代码语言:javascript
复制
<rss version="2.0"> 
<channel>
     <title></title>
     <link></link>
     <description></description>
<item>
   <title></title>
   <link></link>
   <description></description>
   <pubDate></pubDate>
   <guid></guid>
</item>

如…等我的obj-c语法如下所示:

代码语言:javascript
复制
NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];

DDXMLDocument *ddDoc = [[DDXMLDocument alloc] initWithData:data options:0 error:&error];

NSArray *xmlItems = [ddDoc nodesForXPath:@"//item" error:&error]; // where ddDoc is your DDXMLDocument
NSMutableArray *returnArray = [[NSMutableArray alloc] initWithCapacity:[xmlItems count]];

for(DDXMLElement* itemElement in xmlItems)
{
    ActiveActivity *activity = [[ActiveActivity alloc] init];

    NSString *itemValueAsString = [[itemElement attributeForName:@"link"]stringValue];


    [returnArray addObject:activity];
}

它没有返回值,有人能告诉我为什么吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-02-14 17:27:32

问题出在下面这一行:

代码语言:javascript
复制
 NSString *itemValueAsString = [[itemElement attributeForName:@"link"]stringValue];

link不是一个属性,而是一个元素。所以试试这个:

代码语言:javascript
复制
 NSString *itemValueAsString = [[[itemElement elementsForName:@"link"] lastObject] stringValue];
票数 4
EN

Stack Overflow用户

发布于 2017-12-31 03:37:06

对于Swift 3,

代码语言:javascript
复制
let object: DDXMLElement = element.elements(forName: "objectKey").first!
yourModelClass.stringVariable = object.stringValue!
票数 0
EN

Stack Overflow用户

发布于 2012-02-14 16:59:57

代码语言:javascript
复制
NSArray *xmlItems = [[ddDoc rootElement] elementsForName:@"item"];
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9274031

复制
相关文章

相似问题

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