---
title: "init(xmlString:options:)"
framework: foundation
role: symbol
role_heading: Initializer
path: "foundation/xmldocument/init(xmlstring:options:)-65m2r"
---

# init(xmlString:options:)

Initializes and returns an NSXMLDocument object created from a string containing XML markup text.

## Declaration

```swift
convenience init(xmlString string: String, options mask: XMLNode.Options = []) throws
```

## Parameters

- `string`: A string object containing XML markup text.
- `mask`: A bit mask for input options. You can specify multiple options by bit-OR’ing them. See Constants for a list of valid input options.

## Return Value

Return Value An initialized NSXMLDocument object, or nil if initialization fails because of parsing errors or other reasons.

## Discussion

Discussion The encoding of the document is set to UTF-8. note: In Swift, this method returns a nonoptional result and is marked with the throws keyword to indicate that it throws an error in cases of failure. You call this method in a try expression and handle any errors in the catch clauses of a do statement, as described in Error Handling in The Swift Programming Language and About Imported Cocoa Error Parameters.

## See Also

### Initializing NSXMLDocument Objects

- [init(contentsOf:options:)](foundation/xmldocument/init(contentsof:options:).md)
- [init(data:options:)](foundation/xmldocument/init(data:options:).md)
- [init(rootElement:)](foundation/xmldocument/init(rootelement:).md)
- [replacementClass(for:)](foundation/xmldocument/replacementclass(for:).md)
