ObjectiveC和Swift中NSXMLParser的递归元素

时间:2014-10-31 09:06:37

标签: ios recursion swift nsxmlparser

我有一个带有递归元素的文档XML,如下所示:

    <Category id="IND">
     <Name>father</Name>
      <Category id="IND_TURN_ORD">
       <Name>child1</Name>
        <Category id="IND_TURN_ORD">
         <Name> child of the child </Name>
        </Category>
      </Category>
    </Category>

如何为此文档创建递归解析器?

这是我试过的代码:

当我找到elementName ==&#34;类别&#34;

     func parser(parser: NSXMLParser!, didStartElement elementName: String!, namespaceURI: String!, qualifiedName qName: String!, attributes attributeDict: [NSObject : AnyObject]!) {
        if (elementName == "Category") && (!categoryIsOpen){
            println(“found child“)
            currentChildOpen++
            categoryIsOpen = true

            Category.listCategory[countCategory].append(Category())
            // Call recursive func


            }
}

现在我应该调用递归函数,创建一个循环并查看它是否有子类。 但我不知道要切换到什么,以及ogetto如何循环。

有人建议吗?感谢

编辑:

这是我的班级类别:

class Category: NSObject {
    var attributeID:NSString = ""
    var nameCategory:NSString = "nameNotFound"
    var hasChild = false
    var isOpen = false
    var level = 0
    //var children:[Category] = []
    var children = [Category]()
}

我接受快速和客观的建议-C

由于

0 个答案:

没有答案