title: PHP parse response from web service that contains the xsd too
body: <p>I need to parse some xml using PHP SoapClient. 
  The response appears to contain the xsd too. 
  Below is an example of the response I get.
  I welcome your comments and contributions. Thank you very much.</p>
  
  <pre><code>&lt;xs:schema xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="NewDataSet"&gt;
      &lt;xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:MainDataTable="PRV_Servicios" msdata:UseCurrentLocale="true"&gt;
          &lt;xs:complexType&gt;
              &lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
                  &lt;xs:element name="PRV_Servicios"&gt;
                      &lt;xs:complexType&gt;
                          &lt;xs:sequence&gt;
                              &lt;xs:element name="idPRV_Servicios" type="xs:int" minOccurs="0"/&gt;
                              &lt;xs:element name="Servicios" type="xs:string" minOccurs="0"/&gt;
                              &lt;xs:element name="Filler" type="xs:string" minOccurs="0"/&gt;
                              &lt;xs:element name="MarkupAvizo" type="xs:double" minOccurs="0"/&gt;
                              &lt;xs:element name="MarkUpRest" type="xs:double" minOccurs="0"/&gt;
                              &lt;xs:element name="MarkUp" type="xs:double" minOccurs="0"/&gt;
                              &lt;xs:element name="IVA" type="xs:short" minOccurs="0"/&gt;
                              &lt;xs:element name="idPRV_ServiciosIVA" type="xs:int" minOccurs="0"/&gt;
                              &lt;xs:element name="idEMP_Monedas" type="xs:int" minOccurs="0"/&gt;
                              &lt;xs:element name="TipoCalculo1" type="xs:short" minOccurs="0"/&gt;
                              &lt;xs:element name="TipoCalculo2" type="xs:short" minOccurs="0"/&gt;
                          &lt;/xs:sequence&gt;
                      &lt;/xs:complexType&gt;
                  &lt;/xs:element&gt;
              &lt;/xs:choice&gt;
          &lt;/xs:complexType&gt;
      &lt;/xs:element&gt;
  &lt;/xs:schema&gt;
  &lt;diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1"&gt;
      &lt;DocumentElement xmlns=""&gt;
          &lt;PRV_Servicios diffgr:id="PRV_Servicios1" msdata:rowOrder="0"&gt;
              &lt;idPRV_Servicios&gt;1&lt;/idPRV_Servicios&gt;
              &lt;Servicios&gt;Aereo&lt;/Servicios&gt;
              &lt;Filler/&gt;
              &lt;MarkupAvizo&gt;0&lt;/MarkupAvizo&gt;
              &lt;MarkUpRest&gt;0&lt;/MarkUpRest&gt;
              &lt;MarkUp&gt;0&lt;/MarkUp&gt;
              &lt;IVA&gt;1&lt;/IVA&gt;
              &lt;idPRV_ServiciosIVA&gt;0&lt;/idPRV_ServiciosIVA&gt;
              &lt;idEMP_Monedas&gt;1&lt;/idEMP_Monedas&gt;
              &lt;TipoCalculo1&gt;1&lt;/TipoCalculo1&gt;
              &lt;TipoCalculo2&gt;1&lt;/TipoCalculo2&gt;
          &lt;/PRV_Servicios&gt;
          &lt;PRV_Servicios diffgr:id="PRV_Servicios2" msdata:rowOrder="1"&gt;
              &lt;idPRV_Servicios&gt;2&lt;/idPRV_Servicios&gt;
              &lt;Servicios&gt;Autos&lt;/Servicios&gt;
              &lt;Filler/&gt;
              &lt;MarkupAvizo&gt;8.38&lt;/MarkupAvizo&gt;
              &lt;MarkUpRest&gt;1&lt;/MarkUpRest&gt;
              &lt;MarkUp&gt;10&lt;/MarkUp&gt;
              &lt;IVA&gt;1&lt;/IVA&gt;
              &lt;idPRV_ServiciosIVA&gt;0&lt;/idPRV_ServiciosIVA&gt;
              &lt;idEMP_Monedas&gt;1&lt;/idEMP_Monedas&gt;
              &lt;TipoCalculo1&gt;1&lt;/TipoCalculo1&gt;
              &lt;TipoCalculo2&gt;1&lt;/TipoCalculo2&gt;
          &lt;/PRV_Servicios&gt;
          &lt;PRV_Servicios diffgr:id="PRV_Servicios3" msdata:rowOrder="2"&gt;
              &lt;idPRV_Servicios&gt;3&lt;/idPRV_Servicios&gt;
              &lt;Servicios&gt;Cruceros&lt;/Servicios&gt;
              &lt;Filler/&gt;
              &lt;MarkupAvizo&gt;12.5&lt;/MarkupAvizo&gt;
              &lt;MarkUpRest&gt;5.5&lt;/MarkUpRest&gt;
              &lt;MarkUp&gt;15&lt;/MarkUp&gt;
              &lt;IVA&gt;1&lt;/IVA&gt;
              &lt;idPRV_ServiciosIVA&gt;0&lt;/idPRV_ServiciosIVA&gt;
              &lt;idEMP_Monedas&gt;1&lt;/idEMP_Monedas&gt;
              &lt;TipoCalculo1&gt;1&lt;/TipoCalculo1&gt;
              &lt;TipoCalculo2&gt;1&lt;/TipoCalculo2&gt;
          &lt;/PRV_Servicios&gt;
          &lt;PRV_Servicios diffgr:id="PRV_Servicios4" msdata:rowOrder="3"&gt;
              &lt;idPRV_Servicios&gt;4&lt;/idPRV_Servicios&gt;
              &lt;Servicios&gt;Excursiones&lt;/Servicios&gt;
              &lt;Filler/&gt;
              &lt;MarkupAvizo&gt;0&lt;/MarkupAvizo&gt;
              &lt;MarkUpRest&gt;0&lt;/MarkUpRest&gt;
              &lt;MarkUp&gt;0&lt;/MarkUp&gt;
              &lt;IVA&gt;0&lt;/IVA&gt;
              &lt;idPRV_ServiciosIVA&gt;0&lt;/idPRV_ServiciosIVA&gt;
              &lt;idEMP_Monedas&gt;2&lt;/idEMP_Monedas&gt;
              &lt;TipoCalculo1&gt;0&lt;/TipoCalculo1&gt;
              &lt;TipoCalculo2&gt;0&lt;/TipoCalculo2&gt;
          &lt;/PRV_Servicios&gt;
          &lt;PRV_Servicios diffgr:id="PRV_Servicios5" msdata:rowOrder="4"&gt;
              &lt;idPRV_Servicios&gt;5&lt;/idPRV_Servicios&gt;
              &lt;Servicios&gt;Hoteles&lt;/Servicios&gt;
              &lt;Filler/&gt;
              &lt;MarkupAvizo&gt;12.5&lt;/MarkupAvizo&gt;
              &lt;MarkUpRest&gt;5.5&lt;/MarkUpRest&gt;
              &lt;MarkUp&gt;15&lt;/MarkUp&gt;
              &lt;IVA&gt;0&lt;/IVA&gt;
              &lt;idPRV_ServiciosIVA&gt;0&lt;/idPRV_ServiciosIVA&gt;
              &lt;idEMP_Monedas&gt;2&lt;/idEMP_Monedas&gt;
              &lt;TipoCalculo1&gt;1&lt;/TipoCalculo1&gt;
              &lt;TipoCalculo2&gt;2&lt;/TipoCalculo2&gt;
          &lt;/PRV_Servicios&gt;
          &lt;PRV_Servicios diffgr:id="PRV_Servicios6" msdata:rowOrder="5"&gt;
              &lt;idPRV_Servicios&gt;6&lt;/idPRV_Servicios&gt;
              &lt;Servicios&gt;Otros&lt;/Servicios&gt;
              &lt;Filler/&gt;
              &lt;MarkupAvizo&gt;12.5&lt;/MarkupAvizo&gt;
              &lt;MarkUpRest&gt;5.5&lt;/MarkUpRest&gt;
              &lt;MarkUp&gt;15&lt;/MarkUp&gt;
              &lt;IVA&gt;0&lt;/IVA&gt;
              &lt;idPRV_ServiciosIVA&gt;0&lt;/idPRV_ServiciosIVA&gt;
              &lt;idEMP_Monedas&gt;2&lt;/idEMP_Monedas&gt;
              &lt;TipoCalculo1&gt;2&lt;/TipoCalculo1&gt;
              &lt;TipoCalculo2&gt;2&lt;/TipoCalculo2&gt;
          &lt;/PRV_Servicios&gt;
          &lt;PRV_Servicios diffgr:id="PRV_Servicios7" msdata:rowOrder="6"&gt;
              &lt;idPRV_Servicios&gt;7&lt;/idPRV_Servicios&gt;
              &lt;Servicios&gt;Trenes&lt;/Servicios&gt;
              &lt;Filler/&gt;
              &lt;MarkupAvizo&gt;15.5&lt;/MarkupAvizo&gt;
              &lt;MarkUpRest&gt;5.5&lt;/MarkUpRest&gt;
              &lt;MarkUp&gt;22&lt;/MarkUp&gt;
              &lt;IVA&gt;1&lt;/IVA&gt;
              &lt;idPRV_ServiciosIVA&gt;0&lt;/idPRV_ServiciosIVA&gt;
              &lt;idEMP_Monedas&gt;1&lt;/idEMP_Monedas&gt;
              &lt;TipoCalculo1&gt;1&lt;/TipoCalculo1&gt;
              &lt;TipoCalculo2&gt;1&lt;/TipoCalculo2&gt;
          &lt;/PRV_Servicios&gt;
          &lt;PRV_Servicios diffgr:id="PRV_Servicios8" msdata:rowOrder="7"&gt;
              &lt;idPRV_Servicios&gt;8&lt;/idPRV_Servicios&gt;
              &lt;Servicios&gt;Buses&lt;/Servicios&gt;
              &lt;Filler/&gt;
              &lt;MarkupAvizo&gt;15.5&lt;/MarkupAvizo&gt;
              &lt;MarkUpRest&gt;10&lt;/MarkUpRest&gt;
              &lt;MarkUp&gt;21&lt;/MarkUp&gt;
              &lt;IVA&gt;2&lt;/IVA&gt;
              &lt;idPRV_ServiciosIVA&gt;0&lt;/idPRV_ServiciosIVA&gt;
              &lt;idEMP_Monedas&gt;1&lt;/idEMP_Monedas&gt;
              &lt;TipoCalculo1&gt;1&lt;/TipoCalculo1&gt;
              &lt;TipoCalculo2&gt;1&lt;/TipoCalculo2&gt;
          &lt;/PRV_Servicios&gt;
          &lt;PRV_Servicios diffgr:id="PRV_Servicios9" msdata:rowOrder="8"&gt;
              &lt;idPRV_Servicios&gt;9&lt;/idPRV_Servicios&gt;
              &lt;Servicios&gt;Global&lt;/Servicios&gt;
              &lt;Filler/&gt;
              &lt;MarkupAvizo&gt;0&lt;/MarkupAvizo&gt;
              &lt;MarkUpRest&gt;0&lt;/MarkUpRest&gt;
              &lt;MarkUp&gt;0&lt;/MarkUp&gt;
              &lt;IVA&gt;1&lt;/IVA&gt;
              &lt;idPRV_ServiciosIVA&gt;0&lt;/idPRV_ServiciosIVA&gt;
              &lt;idEMP_Monedas&gt;1&lt;/idEMP_Monedas&gt;
              &lt;TipoCalculo1&gt;1&lt;/TipoCalculo1&gt;
              &lt;TipoCalculo2&gt;1&lt;/TipoCalculo2&gt;
          &lt;/PRV_Servicios&gt;
          &lt;PRV_Servicios diffgr:id="PRV_Servicios10" msdata:rowOrder="9"&gt;
              &lt;idPRV_Servicios&gt;10&lt;/idPRV_Servicios&gt;
              &lt;Servicios&gt;Traslados&lt;/Servicios&gt;
              &lt;Filler/&gt;
              &lt;MarkupAvizo&gt;12.5&lt;/MarkupAvizo&gt;
              &lt;MarkUpRest&gt;5.5&lt;/MarkUpRest&gt;
              &lt;MarkUp&gt;15&lt;/MarkUp&gt;
              &lt;IVA&gt;0&lt;/IVA&gt;
              &lt;idPRV_ServiciosIVA&gt;0&lt;/idPRV_ServiciosIVA&gt;
              &lt;idEMP_Monedas&gt;2&lt;/idEMP_Monedas&gt;
              &lt;TipoCalculo1&gt;0&lt;/TipoCalculo1&gt;
              &lt;TipoCalculo2&gt;0&lt;/TipoCalculo2&gt;
          &lt;/PRV_Servicios&gt;
          &lt;PRV_Servicios diffgr:id="PRV_Servicios11" msdata:rowOrder="10"&gt;
              &lt;idPRV_Servicios&gt;11&lt;/idPRV_Servicios&gt;
              &lt;Servicios&gt;Cena Show&lt;/Servicios&gt;
              &lt;Filler/&gt;
              &lt;MarkupAvizo&gt;0&lt;/MarkupAvizo&gt;
              &lt;MarkUpRest&gt;0&lt;/MarkUpRest&gt;
              &lt;MarkUp&gt;0&lt;/MarkUp&gt;
              &lt;IVA&gt;1&lt;/IVA&gt;
              &lt;idPRV_ServiciosIVA&gt;0&lt;/idPRV_ServiciosIVA&gt;
              &lt;idEMP_Monedas&gt;1&lt;/idEMP_Monedas&gt;
              &lt;TipoCalculo1&gt;0&lt;/TipoCalculo1&gt;
              &lt;TipoCalculo2&gt;0&lt;/TipoCalculo2&gt;
          &lt;/PRV_Servicios&gt;
          &lt;PRV_Servicios diffgr:id="PRV_Servicios12" msdata:rowOrder="11"&gt;
              &lt;idPRV_Servicios&gt;12&lt;/idPRV_Servicios&gt;
              &lt;Servicios&gt;Paquetes&lt;/Servicios&gt;
              &lt;Filler/&gt;
              &lt;MarkupAvizo&gt;0&lt;/MarkupAvizo&gt;
              &lt;MarkUpRest&gt;0&lt;/MarkUpRest&gt;
              &lt;MarkUp&gt;0&lt;/MarkUp&gt;
              &lt;IVA&gt;1&lt;/IVA&gt;
              &lt;idPRV_ServiciosIVA&gt;0&lt;/idPRV_ServiciosIVA&gt;
              &lt;idEMP_Monedas&gt;2&lt;/idEMP_Monedas&gt;
              &lt;TipoCalculo1&gt;0&lt;/TipoCalculo1&gt;
              &lt;TipoCalculo2&gt;0&lt;/TipoCalculo2&gt;
          &lt;/PRV_Servicios&gt;
          &lt;PRV_Servicios diffgr:id="PRV_Servicios13" msdata:rowOrder="12"&gt;
              &lt;idPRV_Servicios&gt;13&lt;/idPRV_Servicios&gt;
              &lt;Servicios&gt;Asistencia&lt;/Servicios&gt;
              &lt;Filler/&gt;
              &lt;MarkupAvizo&gt;0&lt;/MarkupAvizo&gt;
              &lt;MarkUpRest&gt;0&lt;/MarkUpRest&gt;
              &lt;MarkUp&gt;0&lt;/MarkUp&gt;
              &lt;IVA&gt;1&lt;/IVA&gt;
              &lt;idPRV_ServiciosIVA&gt;0&lt;/idPRV_ServiciosIVA&gt;
              &lt;idEMP_Monedas&gt;1&lt;/idEMP_Monedas&gt;
              &lt;TipoCalculo1&gt;1&lt;/TipoCalculo1&gt;
              &lt;TipoCalculo2&gt;1&lt;/TipoCalculo2&gt;
          &lt;/PRV_Servicios&gt;
          &lt;PRV_Servicios diffgr:id="PRV_Servicios14" msdata:rowOrder="13"&gt;
              &lt;idPRV_Servicios&gt;14&lt;/idPRV_Servicios&gt;
              &lt;Servicios&gt;Guia&lt;/Servicios&gt;
              &lt;Filler/&gt;
              &lt;MarkupAvizo&gt;0&lt;/MarkupAvizo&gt;
              &lt;MarkUpRest&gt;0&lt;/MarkUpRest&gt;
              &lt;MarkUp&gt;0&lt;/MarkUp&gt;
              &lt;IVA&gt;1&lt;/IVA&gt;
              &lt;idPRV_ServiciosIVA&gt;0&lt;/idPRV_ServiciosIVA&gt;
              &lt;idEMP_Monedas&gt;1&lt;/idEMP_Monedas&gt;
              &lt;TipoCalculo1&gt;1&lt;/TipoCalculo1&gt;
              &lt;TipoCalculo2&gt;1&lt;/TipoCalculo2&gt;
          &lt;/PRV_Servicios&gt;
          &lt;PRV_Servicios diffgr:id="PRV_Servicios15" msdata:rowOrder="14"&gt;
              &lt;idPRV_Servicios&gt;15&lt;/idPRV_Servicios&gt;
              &lt;Servicios&gt;Extras&lt;/Servicios&gt;
              &lt;Filler/&gt;
              &lt;MarkupAvizo&gt;0&lt;/MarkupAvizo&gt;
              &lt;MarkUpRest&gt;0&lt;/MarkUpRest&gt;
              &lt;MarkUp&gt;0&lt;/MarkUp&gt;
              &lt;IVA&gt;0&lt;/IVA&gt;
              &lt;idPRV_ServiciosIVA&gt;0&lt;/idPRV_ServiciosIVA&gt;
              &lt;idEMP_Monedas&gt;2&lt;/idEMP_Monedas&gt;
              &lt;TipoCalculo1&gt;0&lt;/TipoCalculo1&gt;
              &lt;TipoCalculo2&gt;0&lt;/TipoCalculo2&gt;
          &lt;/PRV_Servicios&gt;
      &lt;/DocumentElement&gt;
  &lt;/diffgr:diffgram&gt;
  </code></pre>