Extraire la valeur d'un attribut d'un document XML en java
nacef007
Messages postés28Date d'inscriptionsamedi 10 mars 2012StatutMembreDernière intervention15 décembre 2012
-
15 mars 2012 à 20:07
cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 juillet 2020
-
18 mars 2012 à 15:41
Bonsoir à tous
Ceci est un extrait d'un fichier XML.
Je veux faire un programme qui extrait le continue de la balise dans un document texte.
أبوجا هي عاصمة فيدرالية نيجيريا. تقع في الوسط مما يُعرف بمنطقة العاصمة الإتحادية. وتُعد أبوجا من المدن المخطط لها بمعنى أنه تم تخطيطها لتكون عاصمة البلاد وهي من المدن الحديثة نسبياً حيث بدأ انشائها في الثمانينيات وأصبحت عاصمة نيجيريا الرسمية في 12 ديسمبر 1991 بدلا من العاصمة القديمة لاجوس، ويُقدر عدد سكانها بحوالى 405,000 نسمة(طبقاً لإحصائيات 2005). من المعالم الجغرافية التي تُعرف بها المدينة صخرة آسو(Aso Rock) وهي عبارة عن صخرة ضخمة ارتفاعها 400 متر ناتجة عن التآكل بواسطة المياه ويمتد جنوباً منها جزء كبير من المدينة حيث يوجد المجمع الرئاسي, المجلس الوطني والمحكمة العليا. معظم المدينة لم يتم بنائها كما هو مُخطط بعد والعديد من المبانى لم تكتمل حتى الآن.
نتيجة للاختلافات العرقية والدينية بنيجيريا فقد تم وضع خطط منذ استقلالها لتكون لديها عاصمة في منطقة تعتبر محايدة لكل الأطراف وأخير تم اختيار موقع العاصمة في بداية السبعينيات بمركز البلاد بما له من دلالة على وحدة وحيادية الأمة.و كان الانفجار السكانى بلاجوس سبب آخر لبناء أبوجا حيث أصبحت المدينة مزدحمة يالسكان وأوضاعها سيئة. كان قد تقرر أن يبدأالعمل في البناء في أواخر السبعينيات لكن نتيجة للإضطرابات السياسية والاقتصادية لم تكتمل المراحل الأولى من المدينة حتى نهاية الثمانينيات. قامت معظم الدول بنقل سفاراتها إلى أبوجا مع الاحتفاظ بمقارهم السابقة كقنصليات في العاصمة الاقتصادية لاجوس
يعد مطار أبوجا الدولي هو المطار الوحيد بالمدينة ويتم حالياً تحديثه ليكون جاهز لإستضافة حدث مهم هو دورة ألعاب الكومنولث وتملك أبوجا أيضاً سيارات أجرة غير ملوثة للبيئة كما يوجد بها نظام كفء للنقل الجماعي للركاب؟
J'ai fait ce programme mais malheureusement ça ne marche pas malgré que l'idée est correct.
nacef007
Messages postés28Date d'inscriptionsamedi 10 mars 2012StatutMembreDernière intervention15 décembre 2012 16 mars 2012 à 14:50
Bonjour,
J'ai pas compris exactement qu'est ce que vous voulez dire par on n'a pas besoin de parser le fichier, comment alors entrer mon fichier comme paramètre pour qu'il puisse extraire les information. En plus ce code est ce qu'il va remplacer tout mon code ou seulement le void main.
S'il vous plais expliquer plus car j'ai extrêmement essayer sans arriver à une solution.
Merci très bien
nacef007
Messages postés28Date d'inscriptionsamedi 10 mars 2012StatutMembreDernière intervention15 décembre 2012 16 mars 2012 à 15:17
Bonjour,
j'ai essayé de changer ce code
for(Element e : (List<Element>)racine.getChildren()){
bw.write(e.getAttributeValue("p"));
bw.newLine();
par ce que vous m'avez donné et le résultat était
Le texte à récupérer
a recuperer aussi
comment je peut faire de sorte q'au lieu de m'afficher "Le texte à récupérer" il m'affiche vraiment le texte qui se trouve dans la balise
et merci encore une fois
Vous n’avez pas trouvé la réponse que vous recherchez ?
nacef007
Messages postés28Date d'inscriptionsamedi 10 mars 2012StatutMembreDernière intervention15 décembre 2012 17 mars 2012 à 03:58
Bonsoir Julien
je suis désolé encore pour le dérangement, mais le problème résiste encore.
J'ai fait
matcher.replaceAll("");
et aussi
test.replaceAll("","");
et toujours le meme résultat
Le texte à récupérer
a recuperer aussi
Si vous n'avez pas encore une autre solution pouvez vous me dire comment je peut supprimer touts les balise et ne laisser que les balise meme si la sortie sera un fichier XML aussi pas de problème.
S'il vous plais vous me guidez petit à petit car j'ai pas une grande idée sur l'XML donc si vous disposez d'un code complet veuillez me le proposer.
Je vous remercie très bien
nacef007
Messages postés28Date d'inscriptionsamedi 10 mars 2012StatutMembreDernière intervention15 décembre 2012 17 mars 2012 à 19:05
Bonsoir Julien
malheureusement je suis toujours dans le même problème en fait même en faisant
System.out.println(matcher.group(i).replaceAll("","").replaceAll(""));
il m'affiche toujours
Le texte à récupérer
a recuperer aussi
ce sont en fait ce que vous avez mis dans
String test="<html>ksdfhsdk df
Le texte à récupérer
dfs
a recuperer aussi
</html>";
est ce que je dois mettre quelques chose la bas au lieu de ces phrase ou quoi, quelle est la solution pour qu'il m'affiche vraiment le continu de la balise.
Merci Julien encore une fois et je suis désolé pour le dérangement.
cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 juillet 2020371 18 mars 2012 à 15:41
Ben, je suis assez étonné, là, c'est pas de la magie, c'est de la programmation !
Il faut appeler les méthodes sur la chaîne de caractères qui t'intéresse. Commence par charger le contenu de ton fichier texte dans une chaîne de caractères et appelle les méthodes dessus.