php подсчитывает элементы, называемые «<audio>», независимо от того, где они находятся в объекте. - PullRequest
0 голосов
/ 07 мая 2020

Я использовал simplexml_load_file для определения объекта в php. Могу ли я пропустить oop через весь xml объект и подсчитать все <audio> элементы, независимо от того, где они находятся в объекте?

Например, я могу подсчитать количество тегов <sequence> в xml, но я знаю, что это родительский тег. Тег <audio> может быть любым из дочерних элементов или дочерних элементов объекта, так как мне их всех подсчитать?

$xml=simplexml_load_file("uploads/1.xml") or die("Error: Cannot create object");

echo $xml->sequence->count() . "seqeunce<br><br>";

1 Ответ

2 голосов
/ 07 мая 2020

Почему бы не использовать класс DOMDocument ?

$doc = new DOMDocument();
$doc->load('uploads/1.xml');

$nodes = $doc->getElementsByTagName('audio');
foreach ($nodes as $node) {
    var_dump($node);
}

Чтобы подсчитать все аудиоузлы в содержимом xml, просто используйте свойство length полученного DOMNodeList объект (возвращается методом DOMDocument :: getElementsByTagName ()).

echo $nodes->length;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...