Bonjour;
J'ai actuellement le fichier orm.xml suivant:
Ce fichier a été Parsé avec une classe java utilisant Jaxen qui est représenté comme suite:
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
53 <?xml-stylesheet type="text/xsl" href="transform.xsl"?> <?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>
Ce que je souhaite faire c'est de trouver une solution dans mon code java afin de pouvoir rediriger la sortie de résultat du parse obtenu vers un fichier xml .
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 public class Parseur { public static void Parsor() throws Exception { SAXBuilder sxb=new SAXBuilder(); Document document=sxb.build(new File(orm.xml)); //Element entity=document.getRootElement(); final Namespace ORM_NS = Namespace.getNamespace("orm", "http://java.sun.com/xml/ns/persistence/orm"); XPath entitiesPath = XPath.newInstance("/orm:entity-mappings/orm:entity"); entitiesPath.addNamespace(ORM_NS); XPath attribsPath = XPath.newInstance("orm:attributes/orm:basic"); attribsPath.addNamespace(ORM_NS); List<Element> entities = entitiesPath.selectNodes(document); for(Element entity : entities) { System.out.println(entity.getAttributeValue("name")); List<Element> attribs = attribsPath.selectNodes(entity); for(Element attrib : attribs) { System.out.println(attrib.getAttributeValue("name")); } } } }
Merci d'avance pour votre aide.
Partager