---
title: "XmpData Class"
canonical: https://www.graphicsmill.com/docs/gm/T_Aurigma_GraphicsMill_Codecs_XmpData.htm
product: "Graphics Mill"
---

# XmpData Class
 
Represents an XMP tree.
 
**Namespace:** [Aurigma.GraphicsMill.Codecs](https://www.graphicsmill.com/docs/gm/N_Aurigma_GraphicsMill_Codecs.htm.md)
 **Assembly:** Aurigma.GraphicsMill (in Aurigma.GraphicsMill.dll)
 
## Syntax
  
```csharp
public sealed class XmpData : IXmpDictionary
```
 
## Remarks
  
This class can be used for two purposes:
 
1. Parse XMP data and extract the specific fields values (nodes).
2. Build or modify existing XMP tree by adding/removing/editing nodes.

XMP is an XML-based tree-like format of metadata storage. This class allows to load XML containing XMP data (with a constructor or the [Load(String)](https://www.graphicsmill.com/docs/gm/M_Aurigma_GraphicsMill_Codecs_XmpData_Load_1_bb3a7a4f.htm.md) method). After the XMP string is loaded, a hierarchical set of nodes is formed. You can iterate each node in the [Values](https://www.graphicsmill.com/docs/gm/P_Aurigma_GraphicsMill_Codecs_XmpData_Values.htm.md) collection and drill down into its children to get information about some specific node.
 
To add nodes to this tree, use the [AddNode(XmpNode)](https://www.graphicsmill.com/docs/gm/M_Aurigma_GraphicsMill_Codecs_XmpData_AddNode_1_79cf5b78.htm.md) method. Any object that is a descendant of the [XmpNode](https://www.graphicsmill.com/docs/gm/T_Aurigma_GraphicsMill_Codecs_XmpNode.htm.md) class can be added to the tree. Items are removed with the [Remove(Object)](https://www.graphicsmill.com/docs/gm/M_Aurigma_GraphicsMill_Codecs_XmpDictionaryNode_Remove_1_d02429b3.htm.md) method. After you build a tree of XMP fields, you can get it as an XML string which can be passed to any writer object that supports XMP data (JPEG, TIFF).
 
## Inheritance Hierarchy
  
- System.Object
    - Aurigma.GraphicsMill.Codecs.XmpData
 
## Thread Safety
 Static members of this type are not safe for multi-threaded operations. Instance members of this type are not safe for multi-threaded operations.
   
## See Also

### Reference

- [XmpData Members](https://www.graphicsmill.com/docs/gm/AllMembers_T_Aurigma_GraphicsMill_Codecs_XmpData.htm.md)
- [Aurigma.GraphicsMill.Codecs Namespace](https://www.graphicsmill.com/docs/gm/N_Aurigma_GraphicsMill_Codecs.htm.md)

### Manual

- [XMP Metadata](https://www.graphicsmill.com/docs/gm/xmp-metadata.htm.md)
