J'ai un code PHP qui appelle un webservice et renvoie un XSD, mais je ne sais pas comment lire ses éléments. Quel serait le meilleur moyen? J'ai cherché et j'ai fini avec DOMDocuments, mais je ne l'ai pas très bien compris. Est-ce la meilleure façon? - Ok, j'ai pu obtenir mon fichier xsd dans un DOMDocument, comment puis-je obtenir, par exemple, la valeur du noeud CATEGORIA dans le second produit?Obtenir des éléments dans XSD
Voici le code retourne:
<?xml version="1.0" encoding="utf-8"?>
<DataSet xmlns="http://">
<xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="Produtos">
<xs:complexType>
<xs:sequence>
<xs:element name="TIMESTAMP" type="xs:dateTime" minOccurs="0" />
<xs:element name="DEPARTAMENTO" type="xs:string" minOccurs="0" />
<xs:element name="CATEGORIA" type="xs:string" minOccurs="0" />
<xs:element name="SUBCATEGORIA" type="xs:string" minOccurs="0" />
<xs:element name="FABRICANTE" type="xs:string" minOccurs="0" />
<xs:element name="CODIGO" type="xs:string" minOccurs="0" />
<xs:element name="DESCRICAO" type="xs:string" minOccurs="0" />
<xs:element name="DESCRTEC" type="xs:string" minOccurs="0" />
<xs:element name="PARTNUMBER" type="xs:string" minOccurs="0" />
<xs:element name="EAN" type="xs:string" minOccurs="0" />
<xs:element name="GARANTIA" type="xs:int" minOccurs="0" />
<xs:element name="PESOKG" type="xs:decimal" minOccurs="0" />
<xs:element name="PRECOREVENDA" type="xs:decimal" minOccurs="0" />
<xs:element name="PRECOSEMST" type="xs:decimal" minOccurs="0" />
<xs:element name="DATAVALIDADEPRECO" type="xs:dateTime" minOccurs="0" />
<xs:element name="DISPONIVEL" type="xs:int" minOccurs="0" />
<xs:element name="URLFOTOPRODUTO" type="xs:string" minOccurs="0" />
<xs:element name="ESTOQUE" type="xs:string" minOccurs="0" />
<xs:element name="NCM" type="xs:string" minOccurs="0" />
<xs:element name="LARGURA" type="xs:decimal" minOccurs="0" />
<xs:element name="ALTURA" type="xs:decimal" minOccurs="0" />
<xs:element name="PROFUNDIDADE" type="xs:decimal" minOccurs="0" />
<xs:element name="ATIVO" type="xs:int" minOccurs="0" />
<xs:element name="SUBSTTRIBUTARIA" type="xs:int" minOccurs="0" />
<xs:element name="ORIGEMPRODUTO" type="xs:string" minOccurs="0" />
<xs:element name="ESTOQUEDISPONIVEL" type="xs:decimal" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
<diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
<NewDataSet xmlns="">
<Produtos diffgr:id="Produtos1" msdata:rowOrder="0">
<TIMESTAMP>2017-08-11T11:09:26-03:00</TIMESTAMP>
<DEPARTAMENTO></DEPARTAMENTO>
<CATEGORIA></CATEGORIA>
<SUBCATEGORIA></SUBCATEGORIA>
<FABRICANTE>GENIUS</FABRICANTE>
<CODIGO>0064703</CODIGO>
<DESCRICAO></DESCRICAO>
<DESCRTEC></DESCRTEC>
<PARTNUMBER>31731047103</PARTNUMBER>
<EAN>4710268244738</EAN>
<GARANTIA>12</GARANTIA>
<PESOKG>3.1000</PESOKG>
<PRECOREVENDA>95.0000</PRECOREVENDA>
<PRECOSEMST>95.0000</PRECOSEMST>
<DATAVALIDADEPRECO></DATAVALIDADEPRECO>
<DISPONIVEL>1</DISPONIVEL>
<URLFOTOPRODUTO></URLFOTOPRODUTO>
<ESTOQUE>RJ</ESTOQUE>
<NCM></NCM>
<LARGURA>0.3000</LARGURA>
<ALTURA>0.3500</ALTURA>
<PROFUNDIDADE>0.1700</PROFUNDIDADE>
<ATIVO>1</ATIVO>
<SUBSTTRIBUTARIA>0</SUBSTTRIBUTARIA>
<ORIGEMPRODUTO></ORIGEMPRODUTO>
<ESTOQUEDISPONIVEL>63.0000</ESTOQUEDISPONIVEL>
</Produtos>
<Produtos diffgr:id="Produtos2" msdata:rowOrder="1">
<TIMESTAMP>2017-08-14T18:01:00-03:00</TIMESTAMP>
<DEPARTAMENTO></DEPARTAMENTO>
<CATEGORIA></CATEGORIA>
<SUBCATEGORIA></SUBCATEGORIA>
<FABRICANTE>GENIUS</FABRICANTE>
<CODIGO>0064694</CODIGO>
<DESCRICAO></DESCRICAO>
<DESCRTEC></DESCRTEC>
<PARTNUMBER>31731006100</PARTNUMBER>
<EAN>4710268238461</EAN>
<GARANTIA>12</GARANTIA>
<PESOKG>0.4900</PESOKG>
<PRECOREVENDA>28.9900</PRECOREVENDA>
<PRECOSEMST>28.9900</PRECOSEMST>
<DATAVALIDADEPRECO></DATAVALIDADEPRECO>
<DISPONIVEL>1</DISPONIVEL>
<URLFOTOPRODUTO></URLFOTOPRODUTO>
<ESTOQUE>RJ</ESTOQUE>
<NCM>85182100 </NCM>
<LARGURA>0.1500</LARGURA>
<ALTURA>0.1200</ALTURA>
<PROFUNDIDADE>0.0700</PROFUNDIDADE>
<ATIVO>1</ATIVO>
<SUBSTTRIBUTARIA>0</SUBSTTRIBUTARIA>
<ORIGEMPRODUTO></ORIGEMPRODUTO>
<ESTOQUEDISPONIVEL>100.0000</ESTOQUEDISPONIVEL>
</Produtos>
</NewDataSet>
</diffgr:diffgram>
</DataSet>
Son en portugais, mais je pense que vous pouvez comprendre ce gars est quoi. Il me renvoie environ 20 produits, et j'ai besoin de faire usage de chacune de ces informations
http: // php. net/manual/fr/domxpath.query.php – Hackerman