OpenXmlElement OpenXmlElement OpenXmlElement Class

Definition

Represents a base class that all elements in an Office Open XML document derive from. Represents a base class for all elements in an Office Open XML document.

public abstract class OpenXmlElement : ICloneable, System.Collections.Generic.IEnumerable<DocumentFormat.OpenXml.OpenXmlElement>
type OpenXmlElement = class
    interface seq<OpenXmlElement>
    interface IEnumerable
    interface ICloneable
Public MustInherit Class OpenXmlElement
Implements ICloneable, IEnumerable(Of OpenXmlElement)
Inheritance
OpenXmlElementOpenXmlElementOpenXmlElement
Derived
Implements

Examples

The following code example shows how to access elements at the same level in a word-processing document. The test file used in the example contains the text “OpenXml Element.”

using System;  
using System.Collections.Generic;  
using System.Linq;  
using DocumentFormat.OpenXml.Packaging;  
using DocumentFormat.OpenXml.Wordprocessing;  
  
namespace OpenXmlElement  
{  
    class Program  
    {  
        // This code example shows how to access elements at the same level    
        // in a word-processing document.   
        // The example is using a file that contains the text "OpenXml Element."  
        static void Main(string[] args)  
        {  
            string fileName = @"C:\Users\Public\Documents\AccessElementsSameLevel.docx";  
            using (WordprocessingDocument wordprocessingDocument =   
                WordprocessingDocument.Open(fileName, false))  
            {  
                // Create a Body object.  
                DocumentFormat.OpenXml.Wordprocessing.Body body =  
                    wordprocessingDocument.MainDocumentPart.Document.Body;  
  
                // Create a Paragraph object.  
                DocumentFormat.OpenXml.Wordprocessing.Paragraph firstParagraph =  
                    body.Elements<Paragraph>().FirstOrDefault();  
  
                // Get the first child of an OpenXmlElement.  
                 DocumentFormat.OpenXml.OpenXmlElement firstChild = firstParagraph.FirstChild;  
                IEnumerable<Run> elementsAfter =  
                    firstChild.ElementsAfter().Where(c => c is Run).Cast<Run>();  
  
                // Get the Run elements after the specified element.  
                Console.WriteLine("Run elements after the first child are: ");  
                foreach (DocumentFormat.OpenXml.Wordprocessing.Run run in elementsAfter)  
                {  
                    Console.WriteLine(run.InnerText);  
                }  
                Console.ReadKey();  
            }  
        }  
    }  
}  
// Output:  
// Run elements after the first child are:  
// OpenXml  
//  Element  
  
Imports System  
Imports System.Collections.Generic  
Imports System.Linq  
Imports DocumentFormat.OpenXml.Packaging  
Imports DocumentFormat.OpenXml.Wordprocessing  
  
Module Module1  
    ' This code example shows how to access elements at the same level    
    ' in a word-processing document.   
    ' The example is using a file that contains the text "OpenXml Element."  
    Sub Main()  
        Dim fileName As String = "C:\Users\Public\Documents\AccessElementsSameLevel.docx"  
        Using wordprocessingDocument As WordprocessingDocument = _  
    wordprocessingDocument.Open(fileName, False)  
            ' Create a Body object.  
            Dim body As DocumentFormat.OpenXml.Wordprocessing.Body = _  
    wordprocessingDocument.MainDocumentPart.Document.Body  
  
            ' Create a Paragraph object.  
            Dim firstParagraph As DocumentFormat.OpenXml.Wordprocessing.Paragraph = _  
    body.Elements(Of Paragraph)().FirstOrDefault()  
  
            ' Get the first child of an OpenXmlElement.  
            Dim firstChild As DocumentFormat.OpenXml.OpenXmlElement = _  
                firstParagraph.FirstChild  
            Dim elementsAfter As IEnumerable(Of Run) = _  
                firstChild.ElementsAfter().Where(Function(c) TypeOf c Is Run).Cast(Of Run)()  
  
            ' Get the Run elements before/after the specified element.  
            Console.WriteLine("Run elements after the first child are: ")  
            For Each run As DocumentFormat.OpenXml.Wordprocessing.Run In elementsAfter  
                Console.WriteLine(run.InnerText)  
            Next  
            Console.ReadKey()  
        End Using  
    End Sub  
End Module  
' Output:  
' Run elements after the first child are:  
' OpenXml  
'  Element  
  

Remarks

Annotations will not be cloned when calling .Clone() and .CloneNode(bool)

Constructors

OpenXmlElement() OpenXmlElement() OpenXmlElement()

Initializes a new instance of the OpenXmlElement class.

OpenXmlElement(String) OpenXmlElement(String) OpenXmlElement(String)

Initializes a new instance of the OpenXmlElement class using the supplied outer XML of the element.

Properties

ChildElements ChildElements ChildElements

Gets all the child nodes of the current element.

ExtendedAttributes ExtendedAttributes ExtendedAttributes

Gets all extended attributes (attributes not defined in the schema) of the current element.

FirstChild FirstChild FirstChild

Gets the first child of the OpenXmlElement element. Returns null (Nothing in Visual Basic) if there is no such OpenXmlElement element.

HasAttributes HasAttributes HasAttributes

Gets a boolean value that indicates whether the current element has any attributes.

HasChildren HasChildren HasChildren

Gets a value that indicates whether the current element has any child elements.

InnerText InnerText InnerText

Gets the concatenated values of the node and all of its children.

InnerXml InnerXml InnerXml

Gets or sets the markup that represents only the child elements of the current element.

LastChild LastChild LastChild

Gets the last child of the OpenXmlElement element. Returns null (Nothing in Visual Basic) if there is no such OpenXmlElement element.

LocalName LocalName LocalName

Gets the local name of the current element.

MCAttributes MCAttributes MCAttributes

Sets the markup compatibility attributes. Returns null if no markup compatibility attributes are defined for the current element.

NamespaceDeclarations NamespaceDeclarations NamespaceDeclarations

Gets all the namespace declarations defined in the current element. Returns an empty enumerator if there is no namespace declaration.

NamespaceUri NamespaceUri NamespaceUri

Gets the namespace URI of the current element.

OpenXmlElementContext OpenXmlElementContext OpenXmlElementContext

Gets the OpenXmlEementContext of the current element.

OuterXml OuterXml OuterXml

Gets the markup that represents the current element and all of its child elements.

Parent Parent Parent

Gets the parent element of the current element.

Prefix Prefix Prefix

Gets the namespace prefix of current element.

XmlQualifiedName XmlQualifiedName XmlQualifiedName

Gets the qualified name of the current element.

XName XName XName

Gets the qualified name of the current element.

Methods

AddAnnotation(Object) AddAnnotation(Object) AddAnnotation(Object)

Adds an object to the current OpenXmlElement element's list of annotations.

AddNamespaceDeclaration(String, String) AddNamespaceDeclaration(String, String) AddNamespaceDeclaration(String, String)

Adds a namepace declaration to the current node.

Ancestors() Ancestors() Ancestors()

Enumerates all of the current element's ancestors.

Ancestors<T>() Ancestors<T>() Ancestors<T>()

Enumerates only the current element's ancestors that have the specified type.

Annotation(Type) Annotation(Type) Annotation(Type)

Get the first annotation object of the specified type from the current OpenXmlElement element.

Annotation<T>() Annotation<T>() Annotation<T>()

Get the first annotation object of the specified type from the current OpenXmlElement element.

Annotations(Type) Annotations(Type) Annotations(Type)

Gets a collection of annotations with the specified type for the current OpenXmlElement element.

Annotations<T>() Annotations<T>() Annotations<T>()

Gets a collection of annotations with the specified type for the current OpenXmlElement element.

Append(OpenXmlElement[]) Append(OpenXmlElement[]) Append(OpenXmlElement[])

Appends each element from an array of elements to the end of the current element's list of child elements.

Append(IEnumerable<OpenXmlElement>) Append(IEnumerable<OpenXmlElement>) Append(IEnumerable<OpenXmlElement>)

Appends each element from a list of elements to the end of the current element's list of child elements.

AppendChild<T>(T) AppendChild<T>(T) AppendChild<T>(T)

Appends the specified element to the end of the current element's list of child nodes.

ClearAllAttributes() ClearAllAttributes() ClearAllAttributes()

Clears all of the attributes, including both known attributes and extended attributes.

Clone() Clone() Clone()

Creates a duplicate of the current node.

CloneNode(Boolean) CloneNode(Boolean) CloneNode(Boolean)

When overridden in a derived class, creates a duplicate of the node.

Descendants() Descendants() Descendants()

Enumerates all of the current element's descendants.

Descendants<T>() Descendants<T>() Descendants<T>()

Enumerate all of the current element's descendants of type T.

Elements() Elements() Elements()

Enumerates all of the current element's children.

Elements<T>() Elements<T>() Elements<T>()

Enumerates only the current element's children that have the specified type.

ElementsAfter() ElementsAfter() ElementsAfter()

Enumerates all of the sibling elements that follow the current element and have the same parent as the current element.

ElementsBefore() ElementsBefore() ElementsBefore()

Enumerates all of the sibling elements that precede the current element and have the same parent as the current element.

GetAttribute(String, String) GetAttribute(String, String) GetAttribute(String, String)

Gets an Open XML attribute with the specified tag name and namespace URI.

GetAttributes() GetAttributes() GetAttributes()

Gets a list that contains a copy of all the attributes.

GetEnumerator() GetEnumerator() GetEnumerator()

Returns an enumerator that iterates through the child collection.

GetFirstChild<T>() GetFirstChild<T>() GetFirstChild<T>()

Finds the first child element in type T.

InsertAfter<T>(T, OpenXmlElement) InsertAfter<T>(T, OpenXmlElement) InsertAfter<T>(T, OpenXmlElement)

Inserts the specified element immediately after the specified reference element.

InsertAfterSelf<T>(T) InsertAfterSelf<T>(T) InsertAfterSelf<T>(T)

Inserts the specified element immediately after the current element.

InsertAt<T>(T, Int32) InsertAt<T>(T, Int32) InsertAt<T>(T, Int32)

Inserts the specified element at the specified index in the current element's list of child elements.

InsertBefore<T>(T, OpenXmlElement) InsertBefore<T>(T, OpenXmlElement) InsertBefore<T>(T, OpenXmlElement)

Inserts the specified element immediately before the specified reference element.

InsertBeforeSelf<T>(T) InsertBeforeSelf<T>(T) InsertBeforeSelf<T>(T)

Inserts the specified element immediately before the current element.

IsAfter(OpenXmlElement) IsAfter(OpenXmlElement) IsAfter(OpenXmlElement)

Determines if the current element appears after a specified element in document order.

IsBefore(OpenXmlElement) IsBefore(OpenXmlElement) IsBefore(OpenXmlElement)

Determines if the current element appears before a specified element in document order.

LookupNamespace(String) LookupNamespace(String) LookupNamespace(String)

Resolves the namespace prefix in the context of the current node.

LookupPrefix(String) LookupPrefix(String) LookupPrefix(String)

Finds the corresponding prefix for a namespace uri in the current element scope.

NextSibling() NextSibling() NextSibling()

Gets the OpenXmlElement element that immediately follows the current OpenXmlElement element. Returns null (Nothing in Visual Basic) if there is no next OpenXmlElement element.

NextSibling<T>() NextSibling<T>() NextSibling<T>()

Gets the OpenXmlElement element with the specified type that follows the current OpenXmlElement element. Returns null (Nothing in Visual Basic) if there is no next OpenXmlElement.

PrependChild<T>(T) PrependChild<T>(T) PrependChild<T>(T)

Inserts the specified element at the beginning of the current element's list of child elements.

PreviousSibling() PreviousSibling() PreviousSibling()

Gets the OpenXmlElement element that immediately precedes the current OpenXmlElement element. Returns null (Nothing in Visual Basic ) if there is no preceding OpenXmlElement element.

PreviousSibling<T>() PreviousSibling<T>() PreviousSibling<T>()

Gets the OpenXmlElement element with the specified type that precedes the current OpenXmlElement. Returns null (Nothing in Visual Basic) if there is no preceding OpenXmlElement element.

Remove() Remove() Remove()

Removes the current element from its parent.

RemoveAllChildren() RemoveAllChildren() RemoveAllChildren()

Removes all of the current element's child elements.

RemoveAllChildren<T>() RemoveAllChildren<T>() RemoveAllChildren<T>()

Remove all of the current element's child elements that are of type T.

RemoveAnnotations(Type) RemoveAnnotations(Type) RemoveAnnotations(Type)

Removes the annotations of the specified type from the current OpenXmlElement element.

RemoveAnnotations<T>() RemoveAnnotations<T>() RemoveAnnotations<T>()

Removes the annotations with the specified type from the current OpenXmlElement element.

RemoveAttribute(String, String) RemoveAttribute(String, String) RemoveAttribute(String, String)

Removes the attribute from the current element.

RemoveChild<T>(T) RemoveChild<T>(T) RemoveChild<T>(T)

Removes the specified child element from the current element's list of child elements.

RemoveNamespaceDeclaration(String) RemoveNamespaceDeclaration(String) RemoveNamespaceDeclaration(String)

Removes the namespace declaration for the specified prefix. Removes nothing if there is no prefix.

ReplaceChild<T>(OpenXmlElement, T) ReplaceChild<T>(OpenXmlElement, T) ReplaceChild<T>(OpenXmlElement, T)

Replaces a child element with another child element in the current element's list of child elements.

SetAttribute(OpenXmlAttribute) SetAttribute(OpenXmlAttribute) SetAttribute(OpenXmlAttribute)

Sets an attribute to the specified element. If the attribute is a known attribute, the value of the attribute is set. If the attribute is an extended attribute, the 'openxmlAttribute' is added to the extended attributes list.

SetAttributes(IEnumerable<OpenXmlAttribute>) SetAttributes(IEnumerable<OpenXmlAttribute>) SetAttributes(IEnumerable<OpenXmlAttribute>)

Sets a number of attributes to the element. If an attribute is a known attribute, the value of the attribute is set. If an attribute is an extended attribute, the 'openxmlAttribute' is added to the extended attributes list.

WriteTo(XmlWriter) WriteTo(XmlWriter) WriteTo(XmlWriter)

Saves the current node to the specified XmlWriter.

Explicit Interface Implementations

IEnumerable.GetEnumerator() IEnumerable.GetEnumerator() IEnumerable.GetEnumerator()

Applies to