Bonjour, là j'ai l'impression de ma casser la tête sur quelque chose qui semble bien simple...
J'ai un schéma xsd contenant une clé primaire et un attribut:
...ainsi que les données suivantes:
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 <?xml version="1.0" encoding="utf-8" ?> <xs:schema id="M3_ETAT_SERV_WEBLIST" targetNamespace="http://tempuri.org/M3_ETAT_SERV_WEBLIST.xsd" elementFormDefault="qualified" attributeFormDefault="qualified" xmlns="http://tempuri.org/M3_ETAT_SERV_WEBLIST.xsd" xmlns:mstns="http://tempuri.org/M3_ETAT_SERV_WEBLIST.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xs:element name="M3_ETAT_SERV_WEBLIST" msdata:IsDataSet="true"> <xs:complexType> <xs:choice maxOccurs="unbounded"> <xs:element name="M3_ETAT_SERV_WEB"> <xs:complexType> <xs:sequence> <xs:element name="COD_SERV_WEB" type="xs:string" minOccurs="0" /> <xs:element name="COD_TYP_UTIL" type="xs:string" minOccurs="0" /> <xs:element name="COD_LANG" type="xs:string" minOccurs="0" /> <xs:element name="IND_ACTI_SERV" type="xs:string" minOccurs="0" /> <xs:element name="RAISON" type="xs:string" minOccurs="0" /> <xs:element name="DATE_HEURE_DEBUT" type="xs:string" minOccurs="0" /> <xs:element name="DATE_HEURE_FIN" type="xs:string" minOccurs="0" /> <xs:element name="DUREE" type="xs:string" minOccurs="0" /> <xs:element name="MODIFICATION" type="xs:string" minOccurs="0" /> </xs:sequence> <xs:attribute name="PORTE_ENTREE" type="xs:string" default="N" /> </xs:complexType> </xs:element> </xs:choice> </xs:complexType> <xs:key name="M3_ETAT_SERV_WEBLISTKey1" msdata:PrimaryKey="true"> <xs:selector xpath=".//mstns:M3_ETAT_SERV_WEB" /> <xs:field xpath="mstns:COD_SERV_WEB" /> <xs:field xpath="mstns:COD_TYP_UTIL" /> <xs:field xpath="mstns:COD_LANG" /> </xs:key> </xs:element> </xs:schema>
J'aimerais obtenir mes infos en utilisant bien sûr la clé primaire et l'attribut. Mais je me prend la tête en faisant une requête sql sur le datatable. J'ai déjà simplement essayé d'obtenir des noeuds via un xmldocument:
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 <?xml version="1.0" encoding="ISO-8859-1"?> <M3_ETAT_SERV_WEBLIST> <M3_ETAT_SERV_WEB PORTE_ENTREE="N"> <COD_SERV_WEB>K5A1_UT0101</COD_SERV_WEB> <NOM_SERV_WEB>Portail transactionnel externe</NOM_SERV_WEB> <COD_TYP_UTIL>E</COD_TYP_UTIL> <COD_LANG>A</COD_LANG> <IND_ACTI_SERV>I</IND_ACTI_SERV> <RAISON>E</RAISON> <PROCH_CHANG_STAT> <DATE_DEBUT>2007/07/04</DATE_DEBUT> <HEURE_DEBUT>14:13:01</HEURE_DEBUT> <DATE_FIN> </DATE_FIN> <HEURE_FIN> </HEURE_FIN> <DUREE> </DUREE> </PROCH_CHANG_STAT> </M3_ETAT_SERV_WEB> <M3_ETAT_SERV_WEB PORTE_ENTREE="N"> <COD_SERV_WEB>TEST_UT0101</COD_SERV_WEB> <NOM_SERV_WEB>Portail transactionnel externe</NOM_SERV_WEB> <COD_TYP_UTIL>E</COD_TYP_UTIL> <COD_LANG>A</COD_LANG> <IND_ACTI_SERV>I</IND_ACTI_SERV> <RAISON>E</RAISON> <PROCH_CHANG_STAT> <DATE_DEBUT>2007/07/04</DATE_DEBUT> <HEURE_DEBUT>14:13:01</HEURE_DEBUT> <DATE_FIN> </DATE_FIN> <HEURE_FIN> </HEURE_FIN> <DUREE> </DUREE> </PROCH_CHANG_STAT> </M3_ETAT_SERV_WEB> </M3_ETAT_SERV_WEBLIST>..et il me retourne Nothing. Il ne voit rien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part xmldoc.selectnodes("//M3_ETAT_SERV_WEBLIST/M3_ETAT_SERV_WEB")
Lorsque j'obtient le nom de l'attribut 0(correspondant à PORTE_ENTREE) j'obtiens d2p1PORTE_ENTREE![]()
Comment je peux utiliser efficacement mon schéma en utilisant une expression xpath?
Y-a-til moyen d'utiliser la méthode SelectNodes ou SelectSingleNode ou je dois passer par un XSLT(dont j'y connaît strictement rien en la matière)?
Partager