
IOS
Swiftimport UIKitclass ViewController: UIViewController, NSXMLParserDelegate { var currentElement: String = "" var currentTitle: String = "" var currentAuthor: String = "" override func viewDidLoad() { super.viewDidLoad() if let path = NSBundle.mAInBundle().pathForResource("books", ofType: "XML") { if let parser = NSXMLParser(contentsOfURL: NSURL(fileURLWithPath: path)) { parser.delegate = self parser.parse() } } } // MARK: - NSXMLParserDelegate methods func parserDidStartDocument(parser: NSXMLParser) { print("开始解析XML") } func parserDidEndDocument(parser: NSXMLParser) { print("XML解析完成") } func parser(parser: NSXMLParser, didStartElement elementName: String, namespaceURI: String?, qualifiedName qName: String?, attributes attributeDict: [String : String]) { currentElement = elementName } func parser(parser: NSXMLParser, foundCharacters string: String) { switch currentElement { case "title": currentTitle += string case "author": currentAuthor += string default: break } } func parser(parser: NSXMLParser, didEndElement elementName: String, namespaceURI: String?, qualifiedName qName: String?) { switch elementName { case "book": print("书名:\(currentTitle),作者:\(currentAuthor)") currentTitle = "" currentAuthor = "" default: break } }}以上是一个基本的XML解析的案例代码。在这个例子中,我们通过实现NSXMLParserDelegate协议中的代理方法来接收解析的结果,并将书名和作者信息打印出来。XML解析在IOS开发中是一个非常常见的任务。通过使用NSXMLParser类,我们可以很方便地解析XML数据,并提取所需的信息。希望本文能够帮助读者更好地理解和应用XML解析的知识。Copyright © 2025 IZhiDa.com All Rights Reserved.
知答 版权所有 粤ICP备2023042255号