Bonjour a tous
J aurai une question pour vous: j ai un fichier DS de JBoss. Je souhaiterai le parser pour m assurer de certaines validations.
Voici le format:
Et je souhaiterai sortir
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
54
55
56
57
58
59
60 <?xml version="1.0" encoding="UTF-8"?> <datasources> <xa-datasource> <jndi-name>DS1/ApplicationDS</jndi-name> <track-connection-by-tx/> <isSameRM-override-value>false</isSameRM-override-value> <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class> <xa-datasource-property name="URL">Url1</xa-datasource-property> <xa-datasource-property name="User">User1</xa-datasource-property> <xa-datasource-property name="Password">Pass1</xa-datasource-property> <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation> <!--pooling parameters--> <min-pool-size>0</min-pool-size> <max-pool-size>10</max-pool-size> <blocking-timeout-millis>5007</blocking-timeout-millis> <idle-timeout-minutes>1</idle-timeout-minutes><background-validation-millis>40000</background-validation-millis> <prepared-statement-cache-size>100</prepared-statement-cache-size> <!--valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleValidConnectionChecker</valid-connection-checker-class-name--> <!-- Checks the Oracle error codes and messages for fatal errors --> <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name> <!-- Oracles XA datasource cannot reuse a connection outside a transaction once enlisted in a global transaction and vice-versa --> <no-tx-separate-pools/> <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml --> <metadata> <type-mapping>Oracle9i</type-mapping> </metadata> </xa-datasource> <xa-datasource> <jndi-name>DS2/ApplicationDS</jndi-name> <track-connection-by-tx/> <isSameRM-override-value>false</isSameRM-override-value> <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class> <xa-datasource-property name="URL">Url2</xa-datasource-property> <xa-datasource-property name="User">User2</xa-datasource-property> <xa-datasource-property name="Password">Pass2</xa-datasource-property> <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation> <!--pooling parameters--> <min-pool-size>0</min-pool-size> <max-pool-size>10</max-pool-size> <blocking-timeout-millis>5007</blocking-timeout-millis> <idle-timeout-minutes>1</idle-timeout-minutes><background-validation-millis>40000</background-validation-millis> <prepared-statement-cache-size>100</prepared-statement-cache-size> <!--valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleValidConnectionChecker</valid-connection-checker-class-name--> <!-- Checks the Oracle error codes and messages for fatal errors --> <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name> <!-- Oracles XA datasource cannot reuse a connection outside a transaction once enlisted in a global transaction and vice-versa --> <no-tx-separate-pools/> <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml --> <metadata> <type-mapping>Oracle9i</type-mapping> </metadata> </xa-datasource> </datasources>Seulement je recupere bien l integralite des elements separes:"
JNDI-Name=DS1/ApplicationDS, User=User1, Pass=Pass1
JNDI-Name=DS2/ApplicationDS, User=User2, Pass=Pass2"
etc...
Mais quand je concatene (teste sous Notepad++) cela plante... un seul record://xa-datasource/jndi-name
//xa-datasource-property[@name="User"]
//xa-datasource-property[@name="Password"]
concat("JNDI-Name = ",//xa-datasource/jndi-name," - User= ",//xa-datasource-property[@name="User"]," - Password = ",//xa-datasource-property[@name="Password"])
Quelqu un pourrait m aider ?
EDIT-->
J ai lu sur la doc du site:
"
4-A. Concat
concat( string , string , string *) : retourne string
Elle retourne le résultat de la concaténation des arguments. Attention, lui passer un nodeset de plusieurs noeuds en paramètre ne permettra pas la concaténation de leur valeur textuelle. Chaque nodeset est considéré comme un seul argument et à ce titre seul le premier noeud est traité.
Exemple :
concat("AB","CDE","EF") retourne ABCDEF"
Y a t il un workaround ?
Partager