Un espace de noms XML est un mécanisme permettant de différencier les éléments et les attributs à partir de différents standards ou schémas XML au sein d'un même document. Les espaces de noms sont identifiés par des URI et préfixés localement dans le code XML à l'aide de deux-points.
SimpleXML fournit deux méthodes principales pour accéder aux espaces de noms :
La méthode ->children() vous permet de sélectionner des éléments enfants dans un espace de noms spécifique. Il bascule efficacement le focus de votre objet SimpleXML sur cet espace de noms.
$sx->children(XMLNS_EG1)->list->children(XMLNS_EG2)->item;
La méthode ->attributes() fonctionne de la même manière que la méthode ->children(), mais vous permet d'accéder aux attributs dans un domaine spécifique. espace de noms.
$item->attributes(XMLNS_SEQ)->position;
Vous pouvez également spécifier l'espace de noms initial lors de l'analyse du XML à l'aide du quatrième paramètre de simplexml_load_string ou simplexml_load_file.
$sx = simplexml_load_string($xml, null, 0, XMLNS_EG1);
Une alternative abrégée existe pour spécifier les espaces de noms en passant l'alias local comme deuxième paramètre de ->children() ou ->attributs(). Ceci n'est pas recommandé, car le préfixe peut changer dynamiquement.
$sx->list->children('ns2', true)->item;
En comprenant les espaces de noms XML et en utilisant les méthodes appropriées dans SimpleXML, vous pouvez gérer efficacement les éléments et les attributs avec des deux-points dans leurs noms, vous permettant d'analyser des documents XML avec plusieurs espaces de noms.
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!