• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

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; 
}; 
} 
}
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

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