## Node.Document property

Gets the document to which this node belongs.

```csharp
public virtual DocumentBase Document { get; }
```

## Remarks

The node always belongs to a document even if it has just been created and not yet added to the tree, or if it has been removed from the tree.

## Examples

Shows how to create a node and set its owning document.

```csharp
Document doc = new Document();
Paragraph para = new Paragraph(doc);
para.AppendChild(new Run(doc, "Hello world!"));

// We have not yet appended this paragraph as a child to any composite node.
Assert.That(para.ParentNode, Is.Null);

// If a node is an appropriate child node type of another composite node,
// we can attach it as a child only if both nodes have the same owner document.
// The owner document is the document we passed to the node's constructor.
// We have not attached this paragraph to the document, so the document does not contain its text.
Assert.That(doc, Is.EqualTo(para.Document));
Assert.That(doc.GetText().Trim(), Is.EqualTo(string.Empty));

// Since the document owns this paragraph, we can apply one of its styles to the paragraph's contents.
para.ParagraphFormat.Style = doc.Styles["Heading 1"];

// Add this node to the document, and then verify its contents.
doc.FirstSection.Body.AppendChild(para);

Assert.That(para.ParentNode, Is.EqualTo(doc.FirstSection.Body));
Assert.That(doc.GetText().Trim(), Is.EqualTo("Hello world!"));
```

### See Also

* class [DocumentBase](../../documentbase/)
* class [Node](../)
* namespace [Aspose.Words](../../../aspose.words/)
* assembly [Aspose.Words](../../../)
