Charger un fichier XML avec simplexml_load_file() puis le faire écho avec print_r($xml) peut vous laisser vous demander pourquoi il apparaît vide :
<code class="xml"><ArrayOfItem> <Item> <attributes> <Attribute> <dataType>string</dataType> </Attribute> </attributes> </Item> </ArrayOfItem></code>
<code class="php">$xml = simplexml_load_file('myfile.xml'); print_r($xml);</code>
Résultat :
SimpleXMLElement Object ( [Item] => SimpleXMLElement Object ( ) )
Pourquoi est-ce vide ?
La raison en est que print_r() n'affiche pas le contenu des éléments dans le nœud
Solution :
Pour accéder et afficher le contenu de ces éléments, utilisez des méthodes spécifiquement conçues pour gérer les espaces de noms XML, telles que SimpleXMLElement : :children() ou SimpleXMLElement::xpath(). Par exemple :
<code class="php">// Get children with namespace 'q1' $children = $xml->Item->children('q1', true); // Loop through and output child nodes foreach ($children as $child) { echo 'Child node: ' . $child->getName() . ' value: ' . $child->dataType . "\n"; }</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!