An XmlDocument also provides a rich API for modifying the XML node tree. Before you can modify the XML node tree, you will need to create nodes to add to the node tree. All of the XmlNode implementations, with the exception of the XmlDocument, have private constructors, so they cannot be instantiated directly. XmlNode implementations can be created only via the XmlDocument object. These methods also link the XmlNode to the XmlDocument, but they do not add the XmlNodes to the XmlDocument. You must explicitly add the XmlNode to the XmlDocument.