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

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

Medwoodu

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

Medwoodu

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