je suis entrain de parser ce fichier XML avec JDOM:
le fichier Java de Parse est:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
49
50
51
52 <?xml version="1.0" encoding="ASCII"?> <orm:entity-mappings xmlns:orm="http://java.sun.com/xml/ns/persistence/orm" version="2.0"> <orm:access>FIELD</orm:access> <orm:entity class="org.eclipse.emf.texo.test.model.samples.library.Book" name="Book"> <orm:attributes> <orm:basic name="title" optional="true"/> <orm:basic name="pages" optional="true"/> <orm:basic name="category" optional="true"/> <orm:many-to-one name="author" optional="false" target-entity="org.eclipse.emf.texo.test.model.samples.library.Writer"> <orm:cascade> <orm:cascade-persist/> <orm:cascade-merge/> <orm:cascade-refresh/> </orm:cascade> </orm:many-to-one> </orm:attributes> </orm:entity> <orm:entity class="org.eclipse.emf.texo.test.model.samples.library.Writer" name="Writer"> <orm:attributes> <orm:basic name="name" optional="true"/> <orm:one-to-many name="books" target-entity="org.eclipse.emf.texo.test.model.samples.library.Book"> <orm:order-column/> <orm:join-table name="Writer_books"/> <orm:cascade> <orm:cascade-persist/> <orm:cascade-merge/> <orm:cascade-refresh/> </orm:cascade> </orm:one-to-many> </orm:attributes> </orm:entity> <orm:entity class="org.eclipse.emf.texo.test.model.samples.library.Library" name="Library"> <orm:attributes> <orm:basic name="name" optional="true"/> <orm:one-to-many name="writers" target-entity="org.eclipse.emf.texo.test.model.samples.library.Writer"> <orm:order-column/> <orm:join-column/> <orm:cascade> <orm:cascade-all/> </orm:cascade> </orm:one-to-many> <orm:one-to-many name="books" target-entity="org.eclipse.emf.texo.test.model.samples.library.Book"> <orm:order-column/> <orm:join-column/> <orm:cascade> <orm:cascade-all/> </orm:cascade> </orm:one-to-many> </orm:attributes> </orm:entity> </orm:entity-mappings>
sauf que j'ai rencontré 2 problèmes:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 import java.io.File; import java.io.IOException; import java.util.List; import org.jdom.Document; import org.jdom.Element; import org.jdom.JDOMException; import org.jdom.input.SAXBuilder; public class Parseur { public static void main(String[] args) throws Exception { SAXBuilder sxb=new SAXBuilder(); Document document=sxb.build(new File("orm.xml")); Element entity=document.getRootElement();//entity xml List<Element>classes=entity.getChildren(); for(Element classe:classes){ String nom_classe=classe.getAttributeValue("name"); System.out.println(nom_classe); List<Element> attributs=classe.getChildren(); for (Element attribut:attributs) { List<Element> sousattribs=attribut.getChildren(); for (Element sousattrib:sousattribs) { String nom=attribut.getAttributeValue("basic name"); // J'ai essayé aussi avec "name" au lieu de "basic name" System.out.println(nom); } } } } }
1/ J'arrive à voir les noms des classes qui sont ("Book, Writer,Library") mais avec en plus une valeur "null" que j'ai pas pu l'enlever.
2/ Pour les noms des attributs de classe, ils prennent tous la valeurs "null".
je suis vraiment bloqué dans cette étape.![]()
Partager