<?php
$xml = <<<XML
<DataSet>
<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>
XML;
$dom = new \DOMDocument();
$dom->loadXML($xml);
function formatNode(\DOMNode $node) : string
{
if (!$node->hasChildNodes())
{
return $node->nodeName.': '.$node->nodeValue;
}
return $node->nodeName."\n\t".formatList($node->childNodes);
}
function formatList(\DOMNodeList $list)
{
$array = [];
foreach($list as $node)
{
$array[] = formatNode($node);
}
return implode("\n" , $array);
}
echo formatNode($dom);
- Output for 7.1.0 - 7.1.20, 7.2.0 - 7.2.33, 7.3.16 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.4, 8.3.6
- #document
DataSet
#text:
xs:schema
#text:
xs:element
#text:
xs:complexType
#text:
xs:choice
#text:
xs:element
#text:
xs:complexType
#text:
xs:sequence
#text:
xs:element:
#text:
xs:element:
#text:
xs:element:
#text:
xs:element:
#text:
xs:element:
#text:
xs:element:
#text:
xs:element:
#text:
xs:element:
#text:
#text:
#text:
#text:
#text:
#text:
#text:
#text:
diffgr:diffgram
#text:
OutDataSet
#text:
BuscaSMS
#text:
seunum
#text: 999999999
#text:
celular
#text: 9999999999
#text:
mensagem
#text: obrigado
#text:
status
#text: MO
#text:
datarec
#text: 2018-02-01T13:30:51.547-02:00
#text:
dataenv
#text: 2018-02-01T13:30:52.773-02:00
#text:
datastatus
#text: 2018-02-01T13:30:52.773-02:00
#text:
op
#text: 5
#text:
#text:
BuscaSMS
#text:
seunum
#text: 99999999999
#text:
celular
#text: 9999999999
#text:
mensagem
#text: Obrigado.
#text:
status
#text: MO
#text:
datarec
#text: 2018-02-01T13:37:17.18-02:00
#text:
dataenv
#text: 2018-02-01T13:37:20.807-02:00
#text:
datastatus
#text: 2018-02-01T13:37:20.807-02:00
#text:
op
#text: 5
#text:
#text:
#text:
#text:
- Output for 8.3.5
- Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
#document
DataSet
#text:
xs:schema
#text:
xs:element
#text:
xs:complexType
#text:
xs:choice
#text:
xs:element
#text:
xs:complexType
#text:
xs:sequence
#text:
xs:element:
#text:
xs:element:
#text:
xs:element:
#text:
xs:element:
#text:
xs:element:
#text:
xs:element:
#text:
xs:element:
#text:
xs:element:
#text:
#text:
#text:
#text:
#text:
#text:
#text:
#text:
diffgr:diffgram
#text:
OutDataSet
#text:
BuscaSMS
#text:
seunum
#text: 999999999
#text:
celular
#text: 9999999999
#text:
mensagem
#text: obrigado
#text:
status
#text: MO
#text:
datarec
#text: 2018-02-01T13:30:51.547-02:00
#text:
dataenv
#text: 2018-02-01T13:30:52.773-02:00
#text:
datastatus
#text: 2018-02-01T13:30:52.773-02:00
#text:
op
#text: 5
#text:
#text:
BuscaSMS
#text:
seunum
#text: 99999999999
#text:
celular
#text: 9999999999
#text:
mensagem
#text: Obrigado.
#text:
status
#text: MO
#text:
datarec
#text: 2018-02-01T13:37:17.18-02:00
#text:
dataenv
#text: 2018-02-01T13:37:20.807-02:00
#text:
datastatus
#text: 2018-02-01T13:37:20.807-02:00
#text:
op
#text: 5
#text:
#text:
#text:
#text:
preferences:
153.41 ms | 405 KiB | 159 Q