DOMElement::hasAttributeNS
(PHP 5, PHP 7)
DOMElement::hasAttributeNS — Проверяет, существует ли заданный атрибут
Описание
public bool DOMElement::hasAttributeNS
( string
$namespaceURI
, string $localName
)
Показывает, существует ли атрибут в пространстве имен
namespaceURI
с именем
localName
в составе элемента.
Список параметров
-
namespaceURI
-
URI пространства имен.
-
localName
-
Локальное имя.
Возвращаемые значения
Возвращает TRUE
в случае успешного завершения или FALSE
в случае возникновения ошибки.
Смотрите также
- DOMElement::hasAttribute() - Проверяет наличие атрибута
- DOMElement::getAttributeNS() - Возвращает значение атрибута
- DOMElement::setAttributeNS() - Добавляет новый атрибут
- DOMElement::removeAttributeNS() - Удаляет атрибут
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Обработка XML
- Document Object Model
- Функция DOMElement::__construct() - Создание нового объекта класса DOMElement
- Функция DOMElement::getAttribute() - Возвращает значение атрибута
- Функция DOMElement::getAttributeNode() - Возвращает узел атрибута
- Функция DOMElement::getAttributeNodeNS() - Возвращает узел атрибута
- Функция DOMElement::getAttributeNS() - Возвращает значение атрибута
- Функция DOMElement::getElementsByTagName() - Возвращает элементы по имени тэга
- Функция DOMElement::getElementsByTagNameNS() - Получение элементов по локальному имени в заданном пространстве имен
- Функция DOMElement::hasAttribute() - Проверяет наличие атрибута
- Функция DOMElement::hasAttributeNS() - Проверяет, существует ли заданный атрибут
- Функция DOMElement::removeAttribute() - Удаляет атрибут
- Функция DOMElement::removeAttributeNode() - Удаляет атрибут
- Функция DOMElement::removeAttributeNS() - Удаляет атрибут
- Функция DOMElement::setAttribute() - Устанавливает значение атрибута
- Функция DOMElement::setAttributeNode() - Добавляет новый узел атрибута к элементу
- Функция DOMElement::setAttributeNodeNS() - Добавляет новый атрибут к элементу
- Функция DOMElement::setAttributeNS() - Добавляет новый атрибут
- Функция DOMElement::setIdAttribute() - Объявляет атрибут с заданным именем ключевым атрибутом
- Функция DOMElement::setIdAttributeNode() - Объявляет заданный узал атрибута ключевым
- DOMElement::setIdAttributeNS
Коментарии
This does not work as expected (at least on 5.2.5) with attributes in the default namespace. For instance:
<?php
$dom = new DOMDocument();
$dom->loadXML('<?xml version="1.0"?><element xmlns="testns" attr="testval" />');
var_dump($dom->documentElement->hasAttributeNS('testns', 'attr'));
?>
returns bool(false) whereas:
<?php
$dom = new DOMDocument();
$dom->loadXML('<?xml version="1.0"?><element xmlns:ns1="testns" ns1:attr="testval" />');
var_dump($dom->documentElement->hasAttributeNS('testns', 'attr'));
?>
returns bool(true). NULL does work properly in the namespaceURI parameter, so changing my initial example to:
<?php
$dom = new DOMDocument();
$dom->loadXML('<?xml version="1.0"?><element xmlns="testns" attr="testval" />');
var_dump($dom->documentElement->hasAttributeNS(NULL, 'attr'));
?>
returns bool(true) as expected. Or even better for when you don't know whether the NS will be default:
<?php
$dom = new DOMDocument();
$dom->loadXML('<?xml version="1.0"?><element xmlns="testns" attr="testval" />');
var_dump($dom->documentElement->hasAttributeNS(
is_null($dom->documentElement->lookupPrefix('testns')) ? NULL : 'testns', 'attr'));
?>