Requisito previo: Leer conceptos básicos de XML
La función SimpleXMLElement::children() es una función incorporada en PHP que devuelve elementos secundarios de un Node dado en un objeto SimpleXML.
Sintaxis:
SimpleXMLElement SimpleXMLElement::children( $namespace, $is_prefix )
Parámetro: Esta función acepta dos parámetros como se mencionó anteriormente y se describe a continuación:
- $namespace: Es un parámetro opcional. Especifica el espacio de nombres XML.
- $is_prefix: Es un parámetro booleano que es opcional. Es True si $namespace es un prefijo y False si $namespace es una URL de espacio de nombres. Su valor predeterminado es Falso.
Valor de retorno: esta función devuelve un objeto SimpleXMLElement.
Nota: Esta función está disponible en PHP 5.0.1 y versiones posteriores.
Los siguientes programas ilustran la función SimpleXMLElement::children() en PHP:
Programa 1: Este programa muestra el valor del Node secundario.
php
<?php // Loading XML document to $user $user = <<<XML <user> <username>Geeks123</username> <name>GeeksforGeeks</name> <phone>+91-XXXXXXXXXX</phone> <address> Noida, UP, India </address> </user> XML; // Loading string as simple xml object $xml = simplexml_load_string($user); // Print children node foreach($xml->children() as $child) { echo "Child node: " . $child . "</br>"; } ?>
Producción:
Child node: Geeks123 Child node: GeeksforGeeks Child node: +91-XXXXXXXXXX Child node: Noida, UP, India
Programa 2: Este programa muestra el nombre de la etiqueta y su valor.
php
<?php // Loading XML document to $user $user = <<<XML <user> <username>Geeks123</username> <name>GeeksforGeeks</name> <phone>+91-XXXXXXXXXX</phone> <address> Noida, UP, India </address> </user> XML; // Loading string as simple xml object $xml = simplexml_load_string($user); // Print children node foreach($xml->children() as $child) { echo "Child node: " . $child->getName() . " => " . $child . "</br>"; } ?>
Producción:
Child node: username => Geeks123 Child node: name => GeeksforGeeks Child node: phone => +91-XXXXXXXXXX Child node: address => Noida, UP, India
Programa 3: Este programa recupera el nombre del atributo hijo con su valor.
php
<?php // Loading XML document to $user $user = <<<XML <user> <username font-color="green" font="awesome-fonts" font-size="72px"> Geeks123 </username> <name font-color="blue" font="awesome-fonts" font-size="36px"> GeeksforGeeks </name> <phone font-color="blue" type="number" font="awesome-fonts" font-size="24px"> +91-XXXXXXXXXX </phone> <address font-color="blue" font="awesome-fonts" font-size="24px"> Noida, UP, India </address> </user> XML; // Loading string as simple xml object $xml = simplexml_load_string($user); // Print children attribute foreach($xml->children() as $child) { echo "Child name: " . $child->getName() . " =>" . $child . "<br>"; foreach($child->attributes() as $key => $value) echo " parameter: " . $key . " => " . $value . "</br>"; } ?>
Producción:
Child name: username => Geeks123 parameter: font-color => green parameter: font => awesome-fonts parameter: font-size => 72px Child name: name => GeeksforGeeks parameter: font-color => blue parameter: font => awesome-fonts parameter: font-size => 36px Child name: phone => +91-XXXXXXXXXX parameter: font-color => blue parameter: type => number parameter: font => awesome-fonts parameter: font-size => 24px Child name: address => Noida, UP, India parameter: font-color => blue parameter: font => awesome-fonts parameter: font-size => 24px
Referencia: https://www.php.net/manual/en/simplexmlelement.children.php