Récupérer tous les attributs d'un élément
bonjour ,
j'ai un document xml que j'essaie de parser en utilisant Jdom. le doument est le suivant (la racine du document est "definitions" )
Code:
1 2 3 4 5 6 7 8 9 10
| <definitions name="PurchaseOrder"
targetNamespace="http://lsdis.cs.uga.edu/projects/meteor-s/wsdl-s/examples/purchaseOrder.wsdl"
xmlns="http://www.w3.org/2004/08/wsdl"
xmlns:tns="http://lsdis.cs.uga.edu/projects/meteor-s/wsdl-s/examples/purchaseOrder.wsdl"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsd1="http://lsdis.cs.uga.edu/projects/meteor-s/wsdl-s/examples/purchaseOrder.wsdl"
xmlns:wssem="http://lsdis.cs.uga.edu/projects/meteor-s/wsdl-s/examples/purchaseOrder.wsdl"
xmlns:POOntology="http://lsdis.cs.uga.edu/projects/meteor-s/wsdl-s/ontologies/PurchaseOrder.owl"
xmlns:Rosetta="http://lsdis.cs.uga.edu/projects/meteor-s/wsdl-s/ontologies/rosetta.owl">
</definitions> |
j'aimerais recuperer tous les attributs de l'element definition et voici mon com Java
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| public class ListerAttribute {
static org.jdom.Document document;
static Element racine;
static Namespace nspace =Namespace.getNamespace("http://www.w3.org/2004/08/wsdl");
//static Namespace wssem =Namespace.getNamespace("http://lsdis.cs.uga.edu/projects/meteor-s/wsdl-s/examples/purchaseOrder.wsdl");
public static void main(String[] args)
{
//On crée une instance de SAXBuilder
SAXBuilder sxb = new SAXBuilder();
try
{
//On crée un nouveau document JDOM avec en argument le fichier XML
//Le parsing est terminé ;)
document = sxb.build(new File("PurchaseOrder.wsdl"));
}
catch(Exception e){}
//On initialise un nouvel élément racine avec l'élément racine du document.
System.out.println("Document = "+ document);
racine = document.getRootElement();
//Méthode définie dans la partie 3.2. de cet article
afficheALL();
}
static void afficheALL()
{
//On crée une List contenant tous les noeuds "etudiant" de l'Element racine
List listEtudiants = racine.getAttributes();
//On crée un Iterator sur notre liste
Iterator i = listEtudiants.iterator();
while(i.hasNext())
{
Attribute courant = (Attribute)i.next();
String Name = courant.getName();
System.out.print("nom : "+Name);
System.out.println(" valeur : "+courant.getValue());
}
}
} |
quand j'execute ce programme, seulement les deux premiers attributs me sont affichés, c'est à dir name et target namespace. je ne comprends pas pourquoi il n'affiche pas tous les attributs.
voici le resultat d'exécution de mon programme
Merci de m'aider