[libxml2] Très grandes chaînes de caractères
Bonsoir,
je viens ici demander conseil car je suis confronté à un problème de "taille" avec libxml2 SAX en C.
J 'ai besoin de parser des fichiers xml de données 3D volumineux (>20 M) dont le contenu se trouve à 90% entre les balises (data). Je dois donc récupérer plusieurs chaines composées de dizaines voire de centaines de milliers de caractères, hors libxml limite à 4000 caractères la taille de la chaine récupérée dans la fonction de rappel. Afin éviter les attaques DOS d'après ce que j'ai compris (?!)
Faut -il procéder en plusieurs appels consécutifs pour reconstituer la totalité de chaque chaîne ?
En espérant que vous puissiez me répondre, merci d'avance .
Problèmes avec des fichiers 3D (COLLADA) trop gros !
Bonjour,
je travaille actuellement sur un viewer de données COLLADA (exportées par XSI|Softimage) sous Ogre3D.
Pour parser le COLLADA j'utilise des fonctions basiques de ColladaDOM. Pour de petits fichiers pas de problèmes, mais dès que je teste mon code sur un fichier plus gros (toujours le même fichier de 9 Mo) le code s'avère instable : j'obtiens assez rarement l'objet dans le viewer ; la plupart du temps ça crashe avant...
J'ai alors recodé en plus bas niveau avec libxml2 le code qui me semblait pas assez robuste et pareil cela plante sur des fichiers trop gros souvent au même endroit quand je fais un énième appel de xmlNodeGetContent (tous les précédents marchent parfaitement) aux alentours du 20 ou 25 submesh du fichier...
ColladaDOM utilise libxml2 peut-être es-ce lié ?
Voilà si vous avez résolu ce genre de problème merci d'éclairer ma lanterne !
Cordialement.