Используя PHP simplexml_load_string
, как мне получить значения тега, для которого задан определенный атрибут, равный определенному значению?
PHP: simplexml_load_string
comment
возможный дубликат php: анализ структуры таблицы с помощью SimpleXML
- person Gordon   schedule 26.02.2011
Ответы (1)
После загрузки XML-данных вы сможете использовать SimpleXMLElement::xpath
метод для выполнения XPath-запроса к нему, чтобы найти определенный элемент.
Например, учитывая, что у вас есть строка XML, и вы загружаете ее следующим образом:
$xmlString = <<<TEST
<root>
<elt plop="test">aaa</elt>
<elt plop="huhu">bbb</elt>
</root>
TEST;
$xml = simplexml_load_string($xmlString);
Вы можете использовать следующую часть кода, чтобы найти тег <elt>
, для которого атрибут plop
имеет значение huhu
:
$elt = $xml->xpath('//elt[@plop="huhu"]');
var_dump($elt);
И вы получите такой вывод:
array
0 =>
object(SimpleXMLElement)[2]
public '@attributes' =>
array
'plop' => string 'huhu' (length=4)
string 'bbb' (length=3)
person
Pascal MARTIN
schedule
26.02.2011