swift解析xml格式的数据 对xml的节点和value的操作

这篇博客介绍了如何在Swift中使用NSXMLParser进行XML数据解析。通过实现NSXMLParserDelegate协议,文章详细展示了如何获取XML文件内容,读取特定节点如'person'的属性,并输出各个节点的值。示例代码展示了XML文件加载、解析及节点处理的过程。
摘要由CSDN通过智能技术生成

//

//  ViewController.swift

//  ParseXML

//

//  Created by 200ok on 15/4/13.

//  Copyright (c) 2015 200ok. All rights reserved.

//


import UIKit


class ViewController: UIViewController,NSXMLParserDelegate {


    overridefunc viewDidLoad() {

        super.viewDidLoad()

        // Do any additional setup after loading the view, typically from a nib.

        var parser=NSXMLParser(contentsOfURL:NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("data", ofType: "xml")!))

        //传入xml格式的文件

        parser?.delegate=self

        parser?.parse()//开始解析

    

    }

    var currentNodeNumber:String!

    func parser(parser:NSXMLParser!, didStartElement elementName:String!, namespaceURI: String!, qualifiedName qName:String!, attributes attributeDict: [NSObject :AnyObject]!) {

        // println(elementName)输出元素(节点)名

        currentNodeNumber=elementName

        if elementName=="person"//只要节点是person

        {

            

            iflet age: AnyObject=attributeDict["age"]{

                

               // println("age:\(age)")输出了属性age的值

           }

        }

    }//解析属性

    func parser(parser:NSXMLParser!, foundCharacters string:String!) {

        var str=string.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())

        if str!= ""{

            

            println("节点是\(currentNodeNumber),值是\(str)")

        }

    }//输出了每个节点的值


    overridefunc didReceiveMemoryWarning() {

        super.didReceiveMemoryWarning()

        // Dispose of any resources that can be recreated.

    }



}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值