Bonjour à tous,

Je galère pour trouver une solution, Google n'est plus mon ami...

J'aimerai parser le shema d'une réponse SOAP dont voici le contenu :

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
61
62
63
64
65
66
67
68
69
70
<xs:schema xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="Listing">
    <xs:element name="Listing" msdata:IsDataSet="true" msdata:Locale="fr-FR">
      <xs:complexType>
        <xs:choice maxOccurs="unbounded">
          <xs:element name="LISTING">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="ID" type="xs:string" minOccurs="0"/>
 
                <xs:element name="DATECREA" type="xs:dateTime" minOccurs="0"/>
                <xs:element name="DATEMAJ" type="xs:dateTime" minOccurs="0"/>
                <xs:element name="STRUCTURE_ID" type="xs:int" minOccurs="0"/>
                <xs:element name="OBJETTOUR_CODE" type="xs:string" minOccurs="0"/>
                <xs:element name="OBJETTOUR_LIBELLE" type="xs:string" minOccurs="0"/>
                <xs:element name="SORT_SPECIFIQUE" msdata:DataType="System.Guid, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" type="xs:string" minOccurs="0"/>
                <xs:element name="NOTPANIER" type="xs:boolean" minOccurs="0"/>
                <xs:element name="THEME_ORDER_FS" type="xs:int" minOccurs="0"/>
                <xs:element name="CATEGORIE" type="xs:string" minOccurs="0"/>
 
                <xs:element name="CATEGORIE_ORDER" type="xs:string" minOccurs="0"/>
                <xs:element name="CAPACITE_CHAMBRES" type="xs:string" minOccurs="0"/>
                <xs:element name="TYPE_HAB" type="xs:string" minOccurs="0"/>
                <xs:element name="ANIMAUX" type="xs:string" minOccurs="0"/>
                <xs:element name="FAX" type="xs:string" minOccurs="0"/>
                <xs:element name="URL" type="xs:string" minOccurs="0"/>
                <xs:element name="CAPACITE_PERS" type="xs:string" minOccurs="0"/>
                <xs:element name="DESCRIPTIF" type="xs:string" minOccurs="0"/>
                <xs:element name="VIDEO" type="xs:string" minOccurs="0"/>
 
                <xs:element name="DESCRIPTIF_HABITATION" type="xs:string" minOccurs="0"/>
                <xs:element name="TEL" type="xs:string" minOccurs="0"/>
                <xs:element name="ADHERENT" type="xs:string" minOccurs="0"/>
                <xs:element name="HLO_PxWEmin" type="xs:string" minOccurs="0"/>
                <xs:element name="PHOTO" type="xs:string" minOccurs="0"/>
                <xs:element name="LABEL" type="xs:string" minOccurs="0"/>
                <xs:element name="RESA_CODE" type="xs:string" minOccurs="0"/>
                <xs:element name="MODE_PAIEMENT" type="xs:string" minOccurs="0"/>
                <xs:element name="SERVICES" type="xs:string" minOccurs="0"/>
 
                <xs:element name="RESA_PLATEFORME" type="xs:string" minOccurs="0"/>
                <xs:element name="LAT" type="xs:string" minOccurs="0"/>
                <xs:element name="PHOTO2" type="xs:string" minOccurs="0"/>
                <xs:element name="ADRESSE3" type="xs:string" minOccurs="0"/>
                <xs:element name="R_SOCIALE_HEB" type="xs:string" minOccurs="0"/>
                <xs:element name="HLO_PxWEmax" type="xs:string" minOccurs="0"/>
                <xs:element name="EQUIPEMENT" type="xs:string" minOccurs="0"/>
                <xs:element name="CODE_POSTAL" type="xs:string" minOccurs="0"/>
                <xs:element name="LON" type="xs:string" minOccurs="0"/>
 
                <xs:element name="ADRESSE1" type="xs:string" minOccurs="0"/>
                <xs:element name="HLO_PxSEMmax" type="xs:string" minOccurs="0"/>
                <xs:element name="LABEL_CLASS" type="xs:string" minOccurs="0"/>
                <xs:element name="LABEL_TH" type="xs:string" minOccurs="0"/>
                <xs:element name="MAIL" type="xs:string" minOccurs="0"/>
                <xs:element name="ADRESSE1_SUITE" type="xs:string" minOccurs="0"/>
                <xs:element name="OUVERTURE" type="xs:string" minOccurs="0"/>
                <xs:element name="HLO_PxSEMmin" type="xs:string" minOccurs="0"/>
                <xs:element name="CONFORT" type="xs:string" minOccurs="0"/>
 
                <xs:element name="COMMUNE" type="xs:string" minOccurs="0"/>
                <xs:element name="ADRESSE2" type="xs:string" minOccurs="0"/>
                <xs:element name="TEL_CELL" type="xs:string" minOccurs="0"/>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
        </xs:choice>
      </xs:complexType>
    </xs:element>
 
  </xs:schema>
Je galère avec l'extension DOM pour parser ce truc. J'aimerai créer la structure d'une table SQL. Genre champs ID de type String etc...

Comment faire ? Je comprends rien avec les espaces de noms...

j'ai essayé pas mal de truc mais rien !

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
$dom = new DomDocument();
$dom->load('getListing.xml');
 
$xpath = new DomXPath($dom);
//$xpath->registerNamespace('xs', 'http://www.test.com/webservices');
$result = $xpath->query("//xs:element");
 
var_dump($result);
Merci de votre aide ! Je craque !!!!

Nico