Created
January 20, 2025 13:05
Aspose.Words for .NET. Aspose.Words Document Object Model (DOM) using C#.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git. | |
Document doc = new Document(); | |
Paragraph paragraph = (Paragraph) doc.GetChild(NodeType.Paragraph, 0, true); | |
NodeCollection children = paragraph.GetChildNodes(NodeType.Any, false); | |
foreach (Node child in children) | |
{ | |
// A paragraph may contain children of various types such as runs, shapes, and others. | |
if (child.NodeType == NodeType.Run) | |
{ | |
Run run = (Run) child; | |
Console.WriteLine(run.Text); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git. | |
Document doc = new Document(); | |
NodeType type = doc.NodeType; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git. | |
Document doc = new Document(); | |
// The section is the first child node of the document. | |
Node section = doc.FirstChild; | |
// The section's parent node is the document. | |
Console.WriteLine("Section parent is the document: " + (doc == section.ParentNode)); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git. | |
Document doc = new Document(); | |
// Creating a new node of any type requires a document passed into the constructor. | |
Paragraph para = new Paragraph(doc); | |
// The new paragraph node does not yet have a parent. | |
Console.WriteLine("Paragraph has no parent node: " + (para.ParentNode == null)); | |
// But the paragraph node knows its document. | |
Console.WriteLine("Both nodes' documents are the same: " + (para.Document == doc)); | |
// The fact that a node always belongs to a document allows us to access and modify | |
// properties that reference the document-wide data, such as styles or lists. | |
para.ParagraphFormat.StyleName = "Heading 1"; | |
// Now add the paragraph to the main text of the first section. | |
doc.FirstSection.Body.AppendChild(para); | |
// The paragraph node is now a child of the Body node. | |
Console.WriteLine("Paragraph has a parent node: " + (para.ParentNode != null)); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git. | |
public void RecurseAllNodes() | |
{ | |
Document doc = new Document(MyDir + "Paragraphs.docx"); | |
// Invoke the recursive function that will walk the tree. | |
TraverseAllNodes(doc); | |
} | |
/// <summary> | |
/// A simple function that will walk through all children of a specified node recursively | |
/// and print the type of each node to the screen. | |
/// </summary> | |
public void TraverseAllNodes(CompositeNode parentNode) | |
{ | |
// This is the most efficient way to loop through immediate children of a node. | |
for (Node childNode = parentNode.FirstChild; childNode != null; childNode = childNode.NextSibling) | |
{ | |
Console.WriteLine(Node.NodeTypeToString(childNode.NodeType)); | |
// Recurse into the node if it is a composite node. | |
if (childNode.IsComposite) | |
TraverseAllNodes((CompositeNode) childNode); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git. | |
Document doc = new Document(); | |
Section section = doc.FirstSection; | |
Body body = section.Body; | |
// Quick typed access to all Table child nodes contained in the Body. | |
TableCollection tables = body.Tables; | |
foreach (Table table in tables) | |
{ | |
// Quick typed access to the first row of the table. | |
table.FirstRow?.Remove(); | |
// Quick typed access to the last row of the table. | |
table.LastRow?.Remove(); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment