I'm using an API to send a request to a webservice, and it returns me an XML, but I don't know how to read the XML values
Here is my code:
$url = 'http://urlexample';
$headers = array(
"Content-type: application/x-www-form-urlencoded",
"Accept: application/x-www-form-urlencoded"
);
$method = 'GET';
$connection = new Varien_Http_Adapter_Curl();
if ($method == "GET") {
$zendMethod = Zend_Http_Client::GET;
} elseif ($method == "POST") {
$zendMethod = Zend_Http_Client::POST;
} elseif ($method == "PUT") {
$zendMethod = Zend_Http_Client::PUT;
$connection->addOption(CURLOPT_CUSTOMREQUEST, "PUT");
$connection->addOption(CURLOPT_POSTFIELDS, $body);
}
$connection->setConfig(
array(
'timeout' => 30
)
);
$connection->write($zendMethod, $url, '1.0', $headers, $body);
$response = $connection->read();
$connection->close();
$httpCode = Zend_Http_Response::extractCode($response);
$response = Zend_Http_Response::extractBody($response);
echo "<textarea>" . $response . "</textarea>" ;
The xml it returns:
<?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>
The echo in the last was just so I could see the xml, it works but I don't know how to read it. It shows a list of products and attributes. I have tried with SimpleXML but I wasn't successful
Edit: Just realized I should have posted it in PHP session instead of Magento hehehe sorry