DDXMLDocument目标-c上的递归循环

Posted

技术标签:

【中文标题】DDXMLDocument目标-c上的递归循环【英文标题】:Recursive loop over DDXMLDocument objective-c 【发布时间】:2012-12-31 16:14:09 【问题描述】:

我想在 DDXMLDocument 上递归循环,并更改元素属性。

我该怎么做?我目前有文档和根元素:

DDXMLDocument *theDocument = [[DDXMLDocument alloc] initWithXMLString:content options:0 error:&error];
    DDXMLElement *rootElement = theDocument.rootElement;

【问题讨论】:

【参考方案1】:

实现了后缀树遍历:

-(void)processNode:(DDXMLNode *)node 
    if(node.kind == DDXMLElementKind) 
       //...
       for(DDXMLNode *child in node.children) 
           [self processNode:child];
       
    

【讨论】:

应该是这样的:-(void)processNode: (DDXMLNode *) node 谢谢。顺便说一句,如果我将 DDXMLDocument 作为第一个根发送到该方法,它也会解析 。没有这个元素怎么发送? 应该有一个节点类型元素,实际上你应该使用 if 在 processNode 中检查它 我还是有问题。如果我的 XML 看起来像这样怎么办? ]]>

以上是关于DDXMLDocument目标-c上的递归循环的主要内容,如果未能解决你的问题,请参考以下文章

5-17 汉诺塔的非递归实现 (25分)

当我创建 DDXMLDocument 的自动释放对象时,我的应用程序崩溃了

KissXML/DDXMLDocument: Declaration of 'xmlKeepBlanksDefault' must be imported

习题3.10 汉诺塔的非递归实现(25 分)浙大版《数据结构(第2版)》题目集

记一次nodejs 爬虫(利用递归循环nightmare)

汉诺塔的非递归实现(栈)