• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

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 )?
 
РЕШЕНИЕ НАЙДЕНО
Код:
$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; 
}; 
} 
}
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

Похожие темы