Problème - déclaration XML autorisée qu'au début du document
xml:19558: parser error : déclaration XML autorisée qu'au début du document
toutes les solutions? je suis à l'aide de php XMLReader pour analyser un gros fichier XML, mais l'obtention de cette erreur. je sais que le fichier n'est pas mis en forme, mais je pense que ce n'est pas possible de passer par le fichier et supprimer ces déclarations. donc, toute idée, s'il vous PLAÎT AIDER
Si ce n'est pas bien formé, il n'est pas XML. Si ce n'est pas du XML, puis XMLReader ne va pas jouer gentiment.
le seul problème avec le fichier des déclarations multiples 🙁 (<?xml version="1.0" encoding="UTF-8" standalone="no"?>) de toute façon?
Besoin de supprimer les espaces! Voici la vidéo comment détecter et réparer ces erreurs: youtube.com/watch?v=4jWhO07ICvw
le seul problème avec le fichier des déclarations multiples 🙁 (<?xml version="1.0" encoding="UTF-8" standalone="no"?>) de toute façon?
Besoin de supprimer les espaces! Voici la vidéo comment détecter et réparer ces erreurs: youtube.com/watch?v=4jWhO07ICvw
OriginalL'auteur Aamir | 2011-03-29
Vous devez vous connecter pour publier un commentaire.
Assurez-vous il n'y a pas d'espace avant la première balise.
Essayez ceci:
Définir l' $variable fichier pour le fichier que vous voulez. Remarque je ne sais pas comment cela fonctionne pour un fichier de 4 go. Dites-moi si ça ne marche pas.
EDIT:
Voici une autre solution, il devrait mieux fonctionner avec le plus gros fichier (s'analyse comme il est de la lecture du fichier).
vous avez <xml plusieurs fois? Ne devrait être qu'une seule fois (c'est la racine de la balise html)
oui, mais il est plusieurs fois maintenant, comment résoudre le problème? quelque chose comme la suppression de ces balises supplémentaires, mais comment???
Vous pourriez diviser la chaîne à chaque <xml occurrence, ensuite d'analyser chacun d'eux séparément
thts une bonne idée, mais comment cher? 🙁
OriginalL'auteur Ben
Si vous avez plusieurs déclarations XML, vous avez probablement une concaténation de plusieurs fichiers XML, et également plus d'un élément racine. Il n'est pas clair comment vous le feriez de façon significative les analyser.
Essaient vraiment difficile d'obtenir la source du XML pour vous donner un réel XML en premier. Si cela ne fonctionne pas, voir si vous pouvez faire un peu de prétraitement pour fixer le XML avant de l'analyser.
je dint obtenir wht u veux dire par là...! Essayez vraiment dur pour obtenir la source du XML pour vous donner un réel XML en premier.
Où obtenez-vous le XML? Pouvez-vous en parler à la personne en charge de la production de l'XML, car il n'est pas droit, et doit être corrigé. Pour la fixation de l'XML, regarder en PHP chaîne de remplacement.
Nous donner l'intégralité du document xml, et l'analyseur php, vous avez. Ensuite, nous peut aider certaines plus
mazzzzz ok oui, mais comment puis-je fournir u le fichier,son autour de 4 GBs 🙁
OriginalL'auteur Ned Batchelder
Une autre cause possible de ce problème est de fichier unicode tête.
Si votre XML de l'encodage est UTF-8, le contenu du fichier est toujours commencer avec ces 3 octets "EF BB BF". Ces octets peuvent être interprété de manière incorrecte si l'on tente de convertir à partir du tableau d'octets de la chaîne.
La solution est d'écrire au tableau d'octets d'un fichier directement sans lire getString à partir du tableau d'octets.
ASCII a pas de fichier de la tête
Unicode: FF FE
UTF-8: EF BB BF
UTF-32: FF FE 00 00
Il suffit d'ouvrir le fichier dans ultraedit et vous pouvez voir ces octets.
OriginalL'auteur kaven