SWXMLHash XML文件解析

该博客介绍了一个名为`ServerDataTranslator`的类,它利用SWXMLHash库来解析XML文件。类中定义了静态变量`locationXml`用于存储XML数据,以及`getLocationXML`方法从本地文件读取XML并进行解析。`translateLocation`函数遍历解析后的XML,提取`sname`和`sid`节点的文本信息。示例XML包含多个`RECORD`元素,每个元素分别表示不同地区的层级信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import Foundation

import SWXMLHash

import SwiftyJSON

class ServerDataTranslator: NSObject {  

    static var locationXml:XMLIndexer?

    override init() {

        super.init()

    }

    private func getLocationXML() -> XMLIndexer {

        if let xml = ServerDataTranslator.locationXml {

            return xml

        }else {

            let bo = NSBundle.mainBundle().pathForResource("(导入的xml文件的名字)", ofType: "xml")!

            let data = NSData(contentsOfFile: bo)

            let xml = SWXMLHash.parse(data!)

            ServerDataTranslator.locationXml = xml

            return xml

        }

    }

    func translateLocation() {

            for elem in xml["RECORDS"]["RECORD"] {

                let sname = elem["sname"].element!.text!

                let sid = elem["sid"].element!.text!

            }

        }

        

    }

解析的XML格式:

<?xml version="1.0" standalone="yes"?>

<RECORDS>

<RECORD>

<sid>110000</sid>

<sname>北京市</sname>

<fsid></fsid>

<lev>01</lev>

<end>00</end>

</RECORD>

<RECORD>

<sid>110101</sid>

<sname>东城区</sname>

<fsid>110000</fsid>

<lev>02</lev>

<end>01</end>

</RECORD>

<RECORD>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值