2016-10-26 2 views
-1

Je suis en train d'analyser XML de taille 140Mo avec simplexml_load_file() comme celui-ciChargement 140 mb xml en utilisant simplexml_load_file

$sxe = simplexml_load_file("file.xml"); 
print_r($sxe); 

il retourne seulement l'objet

SimpleXMLElement Object 
(
    [@attributes] => Array 
     (
      [version] => 2.12 
      [vocab-version] => 2015-09-08-01 
     ) 

) 

mais le même code fonctionne sur le serveur. J'ai tout essayé, en augmentant la limite de mémoire, en téléchargeant la taille etc mais je n'ai pas eu de succès. Et le même code fonctionne pour certains petits fichiers XML.

+0

pourriez-vous s'il vous plaît fournir plus d'informations? par exemple le * code * nous sommes censés déboguer? –

+0

sûr, iam en utilisant ce $ sxe = simplexml_load_file ("file.xml"); print_r ($ sxe); –

+0

** ne pas ** code postal dans les commentaires. ** modifier ** votre message d'origine à la place. –

Répondre

0
$simplexml = simplexml_load_file($file_path, 'SimpleXMLElement', LIBXML_PARSEHUGE|LIBXML_NSCLEAN); 
//OR 
$simplexml = new SimpleXMLElement($xml_string, LIBXML_PARSEHUGE|LIBXML_NSCLEAN); 

Pouvez-vous exécuter ce code comme cet exemple?

+0

désolé, essayé les deux mais toujours le même résultat –

+0

S'il vous plaît essayer la recherche dans google avec LIBXML_PARSEHUGE | LIBXML_NSCLEAN vous pouvez voir beaucoup de solution de fichier taille maximale, – madankundu

+0

$ xsl-> loadXML (file_get_contents ('xml_path'), LIBXML_PARSEHUGE); iam capable d'analyser par cela, mais en fait, je veux l'objet de l'élément xml simple, pouvez-vous m'aider à la conversion de l'objet document dom en XML simple –