Convertir rapidement simpleXMLObject à STDClass?
Quelqu'un connais un moyen rapide de convertir un SimpleXMLElement normal STDClass object, sans itération sur chaque branche manuellement? Je me sentirais mieux de travailler avec un objet normal après l'extraction de données.
- Tu veux dire l'importation de toutes les propriétés publiques de la SimpleXMLElement? Rapide est relatif 🙂
- Vous "sentir mieux" n'est pas une raison valable de l'omi 🙂 c'est Quoi la vraie raison pour laquelle vous voulez un stdClass de travailler avec?
- Eh bien, je suis de l'extraction de données à partir d'un fichier XML et de les traiter par la suite dans un système complexe. À partir de ce point je n'ai pas besoin de n'importe quel XML/SimpleXML comportement spécifique, mais seulement des données brutes. PHP XML fonctions ont tendance à ne pas être aussi bien documenté que les autres parties de la langue, et j'ai peur de comportement inattendu lors de la manipulation des données le long du chemin avec elle encore être un élément simpleXML. Avec un STDClass, je sais à quoi m'attendre, comment la manipuler, de valider les données et ainsi de suite. C'est la version longue de "se sentir mieux". Se sentir mieux? 🙂
Vous devez vous connecter pour publier un commentaire.
Je suggère d'utiliser de XMLReader, qui se prête bien à l'extraction de données et de les stocker en tant que quel que soit le type de données que l'on souhaite, au lieu de SimpleXML. Il est particulièrement bon pour régulièrement les documents utilisés (je l'utilise, étendu comme fils rss, pour les flux RSS), est beaucoup plus rapide que prévu, et comme un bonus utilise moins de mémoire que SimpleXML.
Une autre façon est:
Malheureusement, si vous avez des enfants ils restent comme SimpleXMLElement
Je ne sais pas si il existe un moyen de convertir l'objet sans l'itération à travers elle. Ma conjecture est que vous ne pouvez pas.
Vous pouvez le vérifier fil, il vous montre comment convertir un SimpleXML à un tableau, vous pouvez l'adapter.