skip navigation
  • Product Bundles

    DevCraft

    All Telerik .NET tools and Kendo UI JavaScript components in one package. Now enhanced with:

    • AI Coding Assistants
    • Embedded Reporting
    • Document Processing Libraries
    • SSO Account Sign-in

    Web

    Kendo UI UI for Angular UI for Vue UI for jQuery KendoReact UI for Blazor UI for ASP.NET Core UI for ASP.NET MVC UI for ASP.NET AJAX

    Mobile

    UI for .NET MAUI

    Document Management

    Telerik Document Processing

    Desktop

    UI for .NET MAUI UI for WinUI UI for WinForms UI for WPF

    Reporting

    Telerik Reporting Telerik Report Server

    Testing & Mocking

    Test Studio Telerik JustMock

    CMS

    Sitefinity

    AI Productivity Tools

    AI Coding Assistants

    UI/UX Tools

    ThemeBuilder Design System Kit Templates and Building Blocks

    Debugging

    Fiddler Fiddler Everywhere Fiddler Classic Fiddler Everywhere Reporter FiddlerCore

    Free Tools

    KendoReact Free VB.NET to C# Converter Testing Framework
    View all products
  • Overview
  • Demos
    • What's New
    • Roadmap
    • Release History
  • Support and Learning

    • Support and Learning Hub
    • First Steps
    • Docs
    • Demos
    • Virtual Classroom
    • Forums
    • Videos
    • Blogs
    • Accessibility
    • Submit a Ticket

    Productivity and Design Tools

    • Visual Studio Extensions
    • Visual Studio Templates
    • Embedded Reporting
  • Pricing
  • Shopping cart
    • Account Overview
    • Your Licenses
    • Downloads
    • Support Center
    • Forum Profile
    • Payment Methods
    • Edit Profile
    • Log out
  • Login
  • Contact Us
  • Try now

Interface IElement

The

Element
interface represents an element in an HTML or XML document. Elements may have attributes associated with them; since the

Element
interface inherits from
Node
, the

generic

Node
interface attribute
attributes
may be used to retrieve the set of all attributes for an element. There are methods on the
Element
interface to retrieve either an

Attr
object by name or an attribute value by name. In XML,

where an attribute value may contain entity references, an

Attr
object should be retrieved to examine the possibly

fairly complex sub-tree representing the attribute value. On the other hand, in HTML, where all attributes have simple string values, methods to directly access an attribute value can safely be used as a convenience.In DOM Level 2, the method

normalize
is inherited from the

Node
interface where it was moved.

See also the Document Object Model (DOM) Level 2 Core Specification.

Inherited Members
INode.InsertBefore(INode, INode)
INode.ReplaceChild(INode, INode)
INode.RemoveChild(INode)
INode.AppendChild(INode)
INode.HasChildNodes()
INode.CloneNode(Boolean)
INode.Normalize()
INode.IsSupported(String, String)
INode.HasAttributes()
INode.NodeName
INode.NodeValue
INode.NodeType
INode.ParentNode
INode.ChildNodes
INode.FirstChild
INode.LastChild
INode.PreviousSibling
INode.NextSibling
INode.Attributes
INode.OwnerDocument
INode.NamespaceURI
INode.Prefix
INode.LocalName
Namespace: Telerik.WinForms.Documents.FormatProviders.Html.Parsing.Dom
Assembly: Telerik.WinControls.RichTextEditor.dll

Syntax

public interface IElement : INode

Properties

TagName

The name of the element. For example, in:

 <elementExample 
id="demo"> ... </elementExample> , 
tagName
has

the value

"elementExample"
. Note that this is case-preserving in XML, as are all of the operations of the DOM. The HTML DOM returns the
tagName
of an HTML element in the canonical uppercase form, regardless of the case in the source HTML document.

Declaration
string TagName { get; }
Property Value
System.String

Methods

GetAttribute(String)

Retrieves an attribute value by name.

Declaration
string GetAttribute(string name)
Parameters
System.String name

The name of the attribute to retrieve.

Returns
System.String

The

Attr
value as a string, or the empty string if that attribute does not have a specified or default value.

GetAttributeNode(String)

Retrieves an attribute node by name.
To retrieve an attribute node by qualified name and namespace URI, use the

getAttributeNodeNS
method.

Declaration
IAttr GetAttributeNode(string name)
Parameters
System.String name

The name (

nodeName
) of the attribute to retrieve.

Returns
IAttr

The

Attr
node with the specified name (
nodeName
) or
null
if there is no such attribute.

GetAttributeNodeNS(String, String)

Retrieves an

Attr
node by local name and namespace URI. HTML-only DOM implementations do not need to implement this method.

Declaration
IAttr GetAttributeNodeNS(string namespaceUri, string localName)
Parameters
System.String namespaceUri

The namespace URI of the attribute to retrieve.

System.String localName

The local name of the attribute to retrieve.

Returns
IAttr

The

Attr
node with the specified attribute local name and namespace URI or
null
if there is no such attribute.

GetAttributeNS(String, String)

Retrieves an attribute value by local name and namespace URI. HTML-only DOM implementations do not need to implement this method.

Declaration
string GetAttributeNS(string namespaceUri, string localName)
Parameters
System.String namespaceUri

The namespace URI of the attribute to retrieve.

System.String localName

The local name of the attribute to retrieve.

Returns
System.String

The

Attr
value as a string, or the empty string if that attribute does not have a specified or default value.

GetElementsByTagName(String)

Returns a

NodeList
of all descendant
Elements
with a given tag name, in the order in which they are encountered in a preorder traversal of this
Element
tree.

Declaration
INodeList GetElementsByTagName(string name)
Parameters
System.String name

The name of the tag to match on. The special value "*" matches all tags.

Returns
INodeList

A list of matching

Element
nodes.

GetElementsByTagNameNS(String, String)

Returns a

NodeList
of all the descendant

Elements
with a given local name and namespace URI in

the order in which they are encountered in a preorder traversal of this

Element
tree.
HTML-only DOM implementations do not need to implement this method.

Declaration
INodeList GetElementsByTagNameNS(string namespaceUri, string localName)
Parameters
System.String namespaceUri

The namespace URI of the elements to match on. The special value "*" matches all namespaces.

System.String localName

The local name of the elements to match on. The special value "*" matches all local names.

Returns
INodeList

A new

NodeList
object containing all the matched

Elements
.

HasAttribute(String)

Returns

true
when an attribute with a given name is specified on this element or has a default value,
false
otherwise.

Declaration
bool HasAttribute(string name)
Parameters
System.String name

The name of the attribute to look for.

Returns
System.Boolean

true
if an attribute with the given name is
       specified on this element or has a default value, <pre><code>false</code></pre>
       otherwise.

HasAttributeNS(String, String)

Returns

true
when an attribute with a given local name and namespace URI is specified on this element or has a default value,

false
otherwise. HTML-only DOM implementations do not

need to implement this method.

Declaration
bool HasAttributeNS(string namespaceUri, string localName)
Parameters
System.String namespaceUri

The namespace URI of the attribute to look for.

System.String localName

The local name of the attribute to look for.

Returns
System.Boolean

true
if an attribute with the given local name
       and namespace URI is specified or has a default value on this 
       element, <pre><code>false</code></pre> otherwise.

RemoveAttribute(String)

Removes an attribute by name. If the removed attribute is known to have a default value, an attribute immediately appears containing the default value as well as the corresponding namespace URI, local name, and prefix when applicable.
To remove an attribute by local name and namespace URI, use the

removeAttributeNS
method.
Declaration
void RemoveAttribute(string name)
Parameters
System.String name

The name of the attribute to remove.

Exceptions
DomException

NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.

RemoveAttributeNode(IAttr)

Removes the specified attribute node. If the removed

Attr
has a default value it is immediately replaced. The replacing attribute has the same namespace URI and local name, as well as the original prefix, when applicable.

Declaration
IAttr RemoveAttributeNode(IAttr oldAttr)
Parameters
IAttr oldAttr

The

Attr
node to remove from the attribute list.

Returns
IAttr

The

Attr
node that was removed.

Exceptions
DomException

NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
NOT_FOUND_ERR: Raised if

oldAttr
is not an attribute of the element.

RemoveAttributeNS(String, String)

Removes an attribute by local name and namespace URI. If the removed attribute has a default value it is immediately replaced. The replacing attribute has the same namespace URI and local name, as well as the original prefix.
HTML-only DOM implementations do not need to implement this method.

Declaration
void RemoveAttributeNS(string namespaceUri, string localName)
Parameters
System.String namespaceUri

The namespace URI of the attribute to remove.

System.String localName

The local name of the attribute to remove.

Exceptions
DomException

NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.

SetAttribute(String, String)

Adds a new attribute. If an attribute with that name is already present in the element, its value is changed to be that of the value parameter. This value is a simple string; it is not parsed as it is being set. So any markup (such as syntax to be recognized as an entity reference) is treated as literal text, and needs to be appropriately escaped by the implementation when it is written out. In order to assign an attribute value that contains entity references, the user must create an

Attr
node plus any

Text
and
EntityReference
nodes, build the

appropriate subtree, and use

setAttributeNode
to assign it as the value of an attribute.
To set an attribute with a qualified name and namespace URI, use the
setAttributeNS
method.

Declaration
void SetAttribute(string name, string value)
Parameters
System.String name

The name of the attribute to create or alter.

System.String value

Value to set in string form.

Exceptions
DomException

INVALID_CHARACTER_ERR: Raised if the specified name contains an illegal character.
NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.

SetAttributeNode(IAttr)

Adds a new attribute node. If an attribute with that name (

nodeName
) is already present in the element, it is

replaced by the new one.
To add a new attribute node with a qualified name and namespace URI, use the

setAttributeNodeNS
method.

Declaration
IAttr SetAttributeNode(IAttr newAttr)
Parameters
IAttr newAttr

The

Attr
node to add to the attribute list.

Returns
IAttr

If the

newAttr
attribute replaces an existing attribute, the replaced
Attr
node is returned, otherwise
null
is returned.

Exceptions
DomException

WRONG_DOCUMENT_ERR: Raised if

newAttr
was created from a different document than the one that created the element.
NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
INUSE_ATTRIBUTE_ERR: Raised if
newAttr
is already an attribute of another
Element
object. The DOM user must explicitly clone
Attr
nodes to re-use them in other elements.

SetAttributeNodeNS(IAttr)

Adds a new attribute. If an attribute with that local name and that namespace URI is already present in the element, it is replaced by the new one.
HTML-only DOM implementations do not need to implement this method.

Declaration
IAttr SetAttributeNodeNS(IAttr newAttr)
Parameters
IAttr newAttr

The

Attr
node to add to the attribute list.

Returns
IAttr

If the

newAttr
attribute replaces an existing attribute with the same local name and namespace URI, the replaced

Attr
node is returned, otherwise
null
is

returned.

Exceptions
DomException

WRONG_DOCUMENT_ERR: Raised if

newAttr
was created from a different document than the one that created the element.
NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
INUSE_ATTRIBUTE_ERR: Raised if
newAttr
is already an attribute of another
Element
object. The DOM user must explicitly clone
Attr
nodes to re-use them in other elements.

SetAttributeNS(String, String, String)

Adds a new attribute. If an attribute with the same local name and namespace URI is already present on the element, its prefix is changed to be the prefix part of the

qualifiedName
, and its value is changed to be the
value
parameter. This value is a simple string; it is not parsed as it is being set. So any markup (such as syntax to be recognized as an entity reference) is treated as literal text, and needs to be appropriately escaped by the implementation when it is written out. In order to assign an attribute value that contains entity references, the user must create an
Attr
node plus any
Text
and

EntityReference
nodes, build the appropriate subtree,

and use

setAttributeNodeNS
or

setAttributeNode
to assign it as the value of an

attribute.
HTML-only DOM implementations do not need to implement this method.

Declaration
void SetAttributeNS(string namespaceUri, string qualifiedName, string value)
Parameters
System.String namespaceUri

The namespace URI of the attribute to create or alter.

System.String qualifiedName

The qualified name of the attribute to create or alter.

System.String value

The value to set in string form.

Exceptions
DomException

INVALID_CHARACTER_ERR: Raised if the specified qualified name contains an illegal character.
NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
NAMESPACE_ERR: Raised if the

qualifiedName
is malformed, if the
qualifiedName
has a prefix and the

namespaceURI
is
null
, if the
qualifiedName
has a prefix that is "xml" and the
namespaceURI
is different from "

http://www.w3.org/XML/1998/namespace";, or if the

qualifiedName
is "xmlns" and the
namespaceURI
is different from "

http://www.w3.org/2000/xmlns/";.

Extension Methods

SvgExtentions.Traverse<T>(T, Func<T, IEnumerable<T>>)
SvgExtentions.TraverseDepthFirst<T>(T, Func<T, IEnumerable<T>>)
Getting Started
  • Install Now
  • Demos
  • Step-by-Step Tutorial
  • Sample Applications
  • SDK Samples
  • Visual Studio Extensions
Support Resources
  • Code Library
  • Knowledge Base
  • Videos
Community
  • Forums
  • Blogs
  • Feedback Portal
  • Document Processing Feedback Portal

Copyright © 2018 Progress Software Corporation and/or its subsidiaries or affiliates.
All Rights Reserved.

Progress, Telerik, and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries. See Trademarks for appropriate markings.