---
title: CFXMLTreeCreateFromDataWithError
framework: Core Foundation
role: symbol
role_heading: Function
platforms: [macOS 10.0+]
path: corefoundation/cfxmltreecreatefromdatawitherror
---

# CFXMLTreeCreateFromDataWithError

Parses the given XML data and returns the resulting CFXMLTree object and any error information.

## Declaration

```occ
extern CFXMLTreeRefCFXMLTreeCreateFromDataWithError(CFAllocatorRef allocator, CFDataRef xmlData, CFURLRef dataSource, CFOptionFlags parseOptions, CFIndex versionOfNodes, CFDictionaryRef*errorDict);
```

## Parameters

- `allocator`: The allocator to use to allocate memory for the new object. Pass NULL or kCFAllocatorDefault to use the current default allocator.
- `xmlData`: The XML data you wish to parse.
- `dataSource`: The URL from which the XML data was obtained. The URL is used to resolve any relative references found in xmlData. Pass NULL if a valid URL is unavailable.
- `parseOptions`: Flags which control how the XML data will be parsed. See doc://com.apple.corefoundation/documentation/CoreFoundation/CFXMLParserOptions for the list of available options.
- `versionOfNodes`: Determines which version of CFXMLNode objects are produced by the parser. The current version is 1.
- `errorDict`: Upon return, if an error occurs contains a CFDictionary object that describes the error. If no errors occur, this parameter is not changed. Pass NULL if you don’t want error information. See doc://com.apple.corefoundation/documentation/CoreFoundation/error-dictionary-keys for a description of the key-value pairs in this dictionary. Ownership follows the https://developer.apple.com/library/archive/documentation/CoreFoundation/Conceptual/CFMemoryMgmt/Concepts/Ownership.html#//apple_ref/doc/uid/20001148-103029.

## Return Value

Return Value A new CFXMLTree object containing the data from the specified XML document. Ownership follows the The Create Rule.

## Discussion

Discussion Use this function instead of CFXMLTreeCreateFromData if you need access to XML parsing errors.

## See Also

### CFXMLTree Miscellaneous Functions

- [CFXMLCreateStringByEscapingEntities(_:_:_:)](corefoundation/cfxmlcreatestringbyescapingentities(_:_:_:).md)
- [CFXMLCreateStringByUnescapingEntities(_:_:_:)](corefoundation/cfxmlcreatestringbyunescapingentities(_:_:_:).md)
- [CFXMLTreeCreateFromData](corefoundation/cfxmltreecreatefromdata.md)
- [CFXMLTreeCreateWithDataFromURL](corefoundation/cfxmltreecreatewithdatafromurl.md)
- [CFXMLTreeCreateWithNode](corefoundation/cfxmltreecreatewithnode.md)
- [CFXMLTreeCreateXMLData](corefoundation/cfxmltreecreatexmldata.md)
- [CFXMLTreeGetNode](corefoundation/cfxmltreegetnode.md)
