Skip to content

craiggrummitt/SwiftXML

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SwiftXML: Simple XML parsing and serializing for Swift.

Import an XML document

Import an XML document simply, and the XML structure will be converted to XMLNode objects.

guard let url = Bundle.main.url(forResource: "books", withExtension: "xml") else { return }
guard let xml = XML(contentsOf: url) else { return }

Use subscripts

Use subscripts to set nodes and attributes:

xml[0][0]["title"]?.text = "Great Expectations"
xml[0][0].attributes["isbn"] = "38"

Similarly, use subscripts to get nodes and properties.

guard let title = xml[0][0]["title"]?.text,
let isbn = xml[0][0].attributes["isbn"] else {return}
print("\(title) with isbn of \(isbn)")

Create an XML node

Instantiate a node with its name, or its name and value:

let bookNode = XMLNode(name:"book")

Add child node

You can add a child node with its name and value:

bookNode.addChild(name: "title", value: "Robinson Crusoe")

Or with another XML node:

xml[0].addChild(bookNode)

Remove child node

You can remove a child node with its index:

xml[0].removeChild(at: 1)

Serialize XML

Regenerate XML structure from your data with the XMLNode's description property:

//either:
print(xml.description)
//or simply:
print(xml)

Install SwiftXML

Drag the XML.swift file to your project

Compatibility

SwiftXML is Swift 4.0 compatible.

About

Simple XML parsing and serializing in Swift

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages