rouldtahar80
Messages postés12Date d'inscriptionmardi 9 juin 2009StatutMembreDernière intervention 6 janvier 2010
-
9 juin 2009 à 12:14
siwaro
Messages postés7Date d'inscriptionmardi 4 décembre 2007StatutMembreDernière intervention 1 avril 2011
-
1 avril 2011 à 11:52
Bonjour
<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
Pour les besoin de mon stage je doit parser un fichier XML ; jusque la ca va mais voila j deux problème
<ol style="MARGIN-TOP: 0cm" type="1">
<li class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt">la validation de mon XML ne passe pas car le lien n’est pas bon</li>
<li class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt">le fichier est trop volumineux</li>
</ol>
J’aimerai savoir s’il est possible de retirer la phase de validation ou de supprimer la ligne doctype avant, car quand je le supprime avant de le parser ca marche.
Autre chose est il possible de supprimer une balise avt de le charger en mémoire ou augmenter la mémoire ou toute autre solution qui me permettre de parser un fichier de 30 mo
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 9 juin 2009 à 12:56
Salut,
1. Si le fichier doit être validé, c'est pas pour rien... Un fichier xml doit être conforme pour être assuré qu'il respecte le format dans lequel il est censé être encodé. Plutôt que de vouloir supprimer le doctype, tu devrais plutôt corriger le problème à sa source : vérifier l'encodage des caractères de ton fichier...
2. JDom est très très pratique, très simple d'utilisation, mais malheureusement il prend beaucoup de mémoire. Pour un gros fichier, il vaut peut-être mieux passer par SAX : il ne parse pas tout le fichier pour représenter l'arbre DOM en mémoire, mais permet un parsing séquentiel en levant des événements à chaque nouvelle balise : c'est beaucoup plus long à maîtriser, mais c'est plus rapide et prends beaucoup moins de mémoire.
rouldtahar80
Messages postés12Date d'inscriptionmardi 9 juin 2009StatutMembreDernière intervention 6 janvier 2010 9 juin 2009 à 14:02
je suis dacord avec toi.
le probleme je le conais c le system id qui point vers une adresse inexistant
le voila le doctyp
<!DOCTYPE project PUBLIC "-//Mentor Graphics Corporation//Project 1.57//EN" "C:/palette/apl/chs/dtd/project.dtd">
moi j pas besoin qu'il soit valider je dois jute detecter des champ vide et les coriger donc y'aurai t'il un moyen d'eviter la validation
et pour sax d'apres tous ce ke j lu il sert juste a lire le fichier, on peu pas modifier le xml
enfin d'apres ce que j lu
alors quelqu'un aurai t'il un solution a mon probleme svp
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 10 juin 2009 à 07:45
Pour la DTD non respectée, oui tu peux désactiver la validation en utilisant le bon paramètre :
SAXBuilder sax = newSAXBuilder(false); // false désactive la validation pour un SAXBuilder de JDOM.
SAX est une technique de parsing du fichier xml, tout comme DOM. La différence entre les deux, c'est que DOM construit un arbre de tout le document XML en mémoire, alors que SAX fait une lecture séquentielle du fichier et s'arrête à chaque balise rencontrée, ce qui le rend bien plus rapide pour les gros fichiers, et évite les problèmes de mémoire.
Dans l'absolu, DOM et SAX ne permettent pas d'écrire un fichier xml, ils ne permettent que de lire (parser le fichier). Par contre, avec DOM ou SAX rien ne t'empêche de faire tes propres routines pour écrire un fichier xml (c'est ce que propose JDom d'ailleurs).
rouldtahar80
Messages postés12Date d'inscriptionmardi 9 juin 2009StatutMembreDernière intervention 6 janvier 2010 17 juin 2009 à 10:32
re bonjour
voila j'ai reussi a regler le probleme de memoir en augmentant la memoir alouer a java
mais je bloque tjr sur doctype, y'a t'il une solution a ce probleme ou pas
et est ce que le fait d'augmenter la memoire de cette facon va s'impacter lors de la creation de l'executable
merci d'avance pour toute vos reponce
siwaro
Messages postés7Date d'inscriptionmardi 4 décembre 2007StatutMembreDernière intervention 1 avril 20112 1 avril 2011 à 11:52
Bonjour,
Je développe une application aussi sous android pour parser un fichier XML contenant un flux d'actualités, mon probléme est quand je parse un XML avec encodage UTF8 ça passe mais quand c'est avec ISO-8859-1, ça bloque!!
Est-ce que c'est à cause de l'encodage ?? J'ai pas acces au serveur donc je ne peus pas savoir si ça marcherai si je change l'encodage en UTF-8!