Удаление атрибутов из узла элемента в DOMRemoving Attributes from an Element Node in the DOM

Существует много способов удаления атрибутов.There are many ways to remove attributes. Один из них заключается в их удалении из коллекции атрибутов.One technique is to remove them from the attribute collection. Для этого выполняются следующие шаги.To do this, the following steps are performed:

  1. Возвратите коллекцию атрибутов из элемента с помощью кода XmlAttributeCollection attrs = elem.Attributes;.Get the attribute collection from the element using XmlAttributeCollection attrs = elem.Attributes;.

  2. Удалите атрибут из коллекции атрибутов, используя один из трех методов.Remove the attribute from the attribute collection using one of three methods:

    • Метод Remove удаляет указанный атрибут.Use Remove to remove a specific attribute.

    • Метод RemoveAll удаляет все атрибуты из коллекции, оставляя элемент без атрибутов.Use RemoveAll to remove all attributes from the collection and leave the element with no attributes.

    • Метод RemoveAt удаляет атрибут из коллекции, используя его индексный номер.Use RemoveAt to remove an attribute from the attribute collection by using its index number.

Следующие методы удаляют атрибуты из узла элемента.The following methods remove attributes from the element node.

  • Метод RemoveAllAttributes удаляет коллекцию атрибутов.Use RemoveAllAttributes to remove the attribute collection.

  • Метод RemoveAttribute удаляет из коллекции один атрибут по заданному имени.Use RemoveAttribute to remove a single attribute by name from the collection.

  • Метод RemoveAttributeAt удаляет из коллекции один атрибут по индексному номеру.Use RemoveAttributeAt to remove a single attribute by index number from the collection.

Чтобы удалить атрибут, можно также вернуть элемент, вернуть атрибут из коллекции атрибутов и напрямую удалить узел атрибута.One more alternative is to get the element, get the attribute from the attribute collection, and remove the attribute node directly. Чтобы вернуть атрибут из коллекции атрибутов, можно использовать имя XmlAttribute attr = attrs["attr_name"];, индекс XmlAttribute attr = attrs[0]; или полное имя, включая пространство имен XmlAttribute attr = attrs["attr_localName", "attr_namespace"].To get the attribute from the attribute collection, you can use a name, XmlAttribute attr = attrs["attr_name"];, an index XmlAttribute attr = attrs[0];, or by fully qualifying the name with the namespace XmlAttribute attr = attrs["attr_localName", "attr_namespace"].

Независимо от способа удаления атрибута, существуют специальные ограничения на удаление атрибутов, определенные в определении DTD как атрибуты по умолчанию.Regardless of the method used to remove attributes, there are special limitations on removing attributes that are defined as default attributes in the document type definition (DTD). Атрибуты по умолчанию нельзя удалять, если не удален элемент, которому они принадлежат.Default attributes cannot be removed unless the element they belong to is removed. Атрибуты по умолчанию всегда присутствуют в элементах, для которых декларированы атрибуты по умолчанию.Default attributes are always present for elements that have default attributes declared. Удаление атрибута по умолчанию из коллекции XmlAttributeCollection или XmlElement приводит к вставке замещающего атрибута в коллекцию XmlAttributeCollection элемента и инициализации декларированного значения по умолчанию.Removing a default attribute from an XmlAttributeCollection or from the XmlElement results in a replacement attribute inserted into the XmlAttributeCollection of the element, initialized to the default value that was declared. Если существует элемент, определенный как <book att1="1" att2="2" att3="3"></book>, то существует элемент book с тремя атрибутами, объявленными по умолчанию.If you have an element defined as <book att1="1" att2="2" att3="3"></book>, then you have a book element with three default attributes declared. Реализация модели XML DOM гарантирует, что, пока существует элемент book, он имеет три атрибута по умолчанию: att1, att2 и att3.The XML Document Object Model (DOM) implementation guarantees that as long as this book element exists, it has these three default attributes of att1, att2, and att3.

Если метод XmlAttribute вызывается с атрибутом RemoveAll, он присваивает атрибуту значение String.Empty, поскольку атрибут не может существовать без значения.When called with an XmlAttribute, the RemoveAll method sets the value of the attribute to String.Empty, as an attribute cannot exist without a value.

См. также:See also