2010-11-05 16 views

Répondre

2

Selon la documentation:

SimpleXMLIterator::__construct (string $data [, int $options [, bool $data_is_url [, string $ns [, bool $is_prefix ]]]]) 

par conséquent, cette charge une chaîne:

$it = new SimpleXMLIterator ($xml_string); 

Cette charge un fichier:

$it = new SimpleXMLIterator ($xml_filename, 0, true); 
+0

ne peux pas croire que j'ai raté. Merci beaucoup. – Xerri

1

Le ctor signature est

SimpleXMLIterator::__construct ( 
    string $data [, 
     int $options [, 
      bool $data_is_url [, 
       string $ns [, 
        bool $is_prefix ]]]]) 

donc vous devriez être en mesure de passer à la fois: une chaîne et un fichier en changeant $data_is_url:

Par défaut, data_is_url est FAUX. Utilisez TRUE pour spécifier que les données sont un chemin ou une URL vers un document XML au lieu de données de chaîne.

Voir aussi first user-contributed comment in the PHP Manual for SimpleXmlIterator for an example how to turn XML into an array. L'exemple utilise un fichier, mais vous ne devriez avoir aucun problème pour l'adapter à vos besoins.

1

Où voyez-vous cela? SimpleXMLIterator accepte une chaîne sous forme de données XML au constructor par défaut ... Vous pouvez passer un nom de fichier dans le premier paramètre en définissant le troisième paramètre à true, mais par défaut false ...

Et asXml() a une option $filename paramètre, mais vous pouvez le laisser si tu veux et il va retourner une chaîne ...