Book Image

Swift Essentials

By : Alex Blewitt, Bandlem Limited
Book Image

Swift Essentials

By: Alex Blewitt, Bandlem Limited

Overview of this book

Table of Contents (16 chapters)
Swift Essentials
Credits
About the Author
Acknowledgments
About the Reviewers
www.PacktPub.com
Preface
Index

Parsing XML


Although JSON is more commonly used, there are still many XML-based network services. Fortunately, XML parsing has existed in iOS since version 5 in the NSXMLParser class and is simple to access from Swift. For example, some data feeds (such as blog posts) use XML documents such as Atom or RSS.

The NSXMLParser is a stream-oriented parser; that is, it reports individual elements as they are seen. The parser calls the delegate to notify when the elements are seen and have finished. When an element is seen, the parser also includes any attributes that were present; for text nodes, it includes the string content.

Thus, the parsing of an XML file involves some state management in the parser. The example used in this section will parse an Atom (news feed) file, whose (simplified) structure looks as follows:

<feed xmlns="http://www.w3.org/2005/Atom">
  <title>AlBlue's Blog</title>
  <link href="http://alblue.bandlem.com/atom.xml" rel="self"/>
  <entry>
  ...