How to transform a xml
into a array
or object?
I make a request that returns me the following xml
:
xmlteste.xml
<?xml version="1.0" encoding="utf-8"?>
<DataSet xmlns="https://www.twwwireless.com.br/reluzcap/wsreluzcap">
<xs:schema id="OutDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="OutDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="BuscaSMS">
<xs:complexType>
<xs:sequence>
<xs:element name="seunum" type="xs:string" minOccurs="0" />
<xs:element name="celular" type="xs:string" minOccurs="0" />
<xs:element name="mensagem" type="xs:string" minOccurs="0" />
<xs:element name="status" type="xs:string" minOccurs="0" />
<xs:element name="datarec" type="xs:dateTime" minOccurs="0" />
<xs:element name="dataenv" type="xs:dateTime" minOccurs="0" />
<xs:element name="datastatus" type="xs:dateTime" minOccurs="0" />
<xs:element name="op" type="xs:short" 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">
<OutDataSet xmlns="">
<BuscaSMS diffgr:id="BuscaSMS0" msdata:rowOrder="3">
<seunum>999999999</seunum>
<celular>9999999999</celular>
<mensagem>obrigado</mensagem>
<status>MO</status>
<datarec>2018-02-01T13:30:51.547-02:00</datarec>
<dataenv>2018-02-01T13:30:52.773-02:00</dataenv>
<datastatus>2018-02-01T13:30:52.773-02:00</datastatus>
<op>5</op>
</BuscaSMS>
<BuscaSMS diffgr:id="BuscaSMS1" msdata:rowOrder="4">
<seunum>99999999999</seunum>
<celular>9999999999</celular>
<mensagem>Obrigado.</mensagem>
<status>MO</status>
<datarec>2018-02-01T13:37:17.18-02:00</datarec>
<dataenv>2018-02-01T13:37:20.807-02:00</dataenv>
<datastatus>2018-02-01T13:37:20.807-02:00</datastatus>
<op>5</op>
</BuscaSMS>
</OutDataSet>
</diffgr:diffgram>
</DataSet>
I tried to do the following:
$page = file_get_contents("http://localhost/xmlteste.xml");
$page = new SimpleXMLElement($page);
var_dump($page);
However, it always returns object (SimpleXMLElement) # 1 (0) {}. I also tried others like Convert XML to array in PHP ), but unfortunately nothing seems to work. Can anyone help?
I'm trying to turn it into array to loop through the data contained in tag
<BuscaSMS>