• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Domxml Xpath, можно ли получить атрибут по значению (php5)?

  • Автор темы Medwoodu
  • Дата начала
Статус
Закрыто для дальнейших ответов.
M

Medwoodu

проблема такая: есть DOM документ вида:
<p attrib1 = "1" attrib2 = "2"></p>
<p attrib1 = "3" attrib2 = "4"></p>
с помощью XPath я могу найти узел, в котором есть атрибут(имени я заранее не знаю) со значением например 2.
XP->query("//*[@*='2']");
Можно ли и как найти(вызвать) имя атрибута( =attrib2 )?
 
M

Medwoodu

РЕШЕНИЕ НАЙДЕНО
Код:
$doc = new DOMDocument; 
$doc->preserveWhiteSpace = false; 
$XMLSTRING = <<< EOF 
<div> 
<p attrib1 = "1" attrib2 = "2">r</p> 
<p attrib1 = "3" attrib2 = "4">t</p> 
</div> 
EOF; 

$doc->LoadXML($XMLSTRING); 

$xpath = new DOMXPath($doc); 

$query = "//*[@*='2']"; 

$entries = $xpath->query($query); 
print($XMLSTRING); 
foreach ($entries as $entry) { 
foreach ($entry->attributes as $attribute) { 
if ($attribute->value == '2'){ 
echo $attribute->name; 
}; 
} 
}
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!