PHP 8.1.26 Released!

Класс DOMAttr

(PHP 5, PHP 7, PHP 8)


DOMAttr предоставляет атрибут в объекте DOMElement.

Обзор классов

class DOMAttr extends DOMNode {
/* Свойства */
public readonly string $name;
public readonly bool $specified = true;
public string $value;
public readonly ?DOMElement $ownerElement;
public readonly mixed $schemaTypeInfo = null;
/* Наследуемые свойства */
public readonly string $nodeName;
public ?string $nodeValue;
public readonly int $nodeType;
public readonly ?DOMNode $parentNode;
public readonly DOMNodeList $childNodes;
public readonly ?DOMNode $firstChild;
public readonly ?DOMNode $lastChild;
public readonly ?DOMNode $previousSibling;
public readonly ?DOMNode $nextSibling;
public readonly ?DOMNamedNodeMap $attributes;
public readonly ?DOMDocument $ownerDocument;
public readonly ?string $namespaceURI;
public string $prefix;
public readonly ?string $localName;
public readonly ?string $baseURI;
public string $textContent;
/* Методы */
public __construct(string $name, string $value = "")
public isId(): bool
/* Наследуемые методы */
public DOMNode::appendChild(DOMNode $node): DOMNode|false
public DOMNode::C14N(
    bool $exclusive = false,
    bool $withComments = false,
    ?array $xpath = null,
    ?array $nsPrefixes = null
): string|false
public DOMNode::C14NFile(
    string $uri,
    bool $exclusive = false,
    bool $withComments = false,
    ?array $xpath = null,
    ?array $nsPrefixes = null
): int|false
public DOMNode::cloneNode(bool $deep = false): DOMNode|false
public DOMNode::contains(DOMNode|DOMNameSpaceNode|null $other): bool
public DOMNode::getLineNo(): int
public DOMNode::getNodePath(): ?string
public DOMNode::getRootNode(array $options = null): DOMNode
public DOMNode::hasAttributes(): bool
public DOMNode::hasChildNodes(): bool
public DOMNode::insertBefore(DOMNode $node, ?DOMNode $child = null): DOMNode|false
public DOMNode::isDefaultNamespace(string $namespace): bool
public DOMNode::isEqualNode(?DOMNode $otherNode): bool
public DOMNode::isSameNode(DOMNode $otherNode): bool
public DOMNode::isSupported(string $feature, string $version): bool
public DOMNode::lookupNamespaceURI(?string $prefix): ?string
public DOMNode::lookupPrefix(string $namespace): ?string
public DOMNode::normalize(): void
public DOMNode::removeChild(DOMNode $child): DOMNode|false
public DOMNode::replaceChild(DOMNode $node, DOMNode $child): DOMNode|false



Имя атрибута.


Элемент, который содержит атрибут или null.


Ещё не реализовано, возвращает null.


Ещё не реализовано, возвращает null.


Значение атрибута.


Обратите внимание, что сущности XML расширяются при установке значения. Таким образом, символ & имеет особое значение. Установка value в само себя приведёт к ошибке, если value содержит символ &. Чтобы избежать расширения сущности, используйте вместо этого метод DOMElement::setAttribute().

Смотрите также


  • DOMAttr::__construct — Создаёт экземпляр класса DOMAttr
  • DOMAttr::isId — Проверяет, является ли атрибут определённым идентификатором
add a note

User Contributed Notes 2 notes

greubel at nkey dot de
8 years ago
Please take care on debugging DOMAttr related code. This will cause an E_WARNING that retrieving schemaTypeInfo attribute is not implemented yet. An IDE like Eclipse will inspect the object and its member elements. In conjunction with registered error handlers, which will translate the E_WARNING into Exception your debugging session will end unexpectedly. This has caused me some trouble while debugging my PHPUnit test case in eclipse using "Makegood" plugin.

A possible workarround is to deactivate the error handling during debugging using error_reporting(0). Remove the statement after finishing your debugging session.

Notable ticket in Bugtracker:
And a xdebug tracker ticket:
chregu at php dot net
14 years ago
See also the properties from the inherited class DOMNode ( ), eg. namespaceURI, prefix, localName, etc, especially if you have to deal with namespaced attributes
To Top