2
我需要使用PHP SoapClient解析一些xml。 響應似乎也包含xsd。 下面是我得到的迴應的一個例子。 我歡迎您的意見和貢獻。非常感謝你。PHP解析來自包含xsd的web服務的響應
<xs:schema xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="NewDataSet">
<xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:MainDataTable="PRV_Servicios" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="PRV_Servicios">
<xs:complexType>
<xs:sequence>
<xs:element name="idPRV_Servicios" type="xs:int" minOccurs="0"/>
<xs:element name="Servicios" type="xs:string" minOccurs="0"/>
<xs:element name="Filler" type="xs:string" minOccurs="0"/>
<xs:element name="MarkupAvizo" type="xs:double" minOccurs="0"/>
<xs:element name="MarkUpRest" type="xs:double" minOccurs="0"/>
<xs:element name="MarkUp" type="xs:double" minOccurs="0"/>
<xs:element name="IVA" type="xs:short" minOccurs="0"/>
<xs:element name="idPRV_ServiciosIVA" type="xs:int" minOccurs="0"/>
<xs:element name="idEMP_Monedas" type="xs:int" minOccurs="0"/>
<xs:element name="TipoCalculo1" type="xs:short" minOccurs="0"/>
<xs:element name="TipoCalculo2" 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">
<DocumentElement xmlns="">
<PRV_Servicios diffgr:id="PRV_Servicios1" msdata:rowOrder="0">
<idPRV_Servicios>1</idPRV_Servicios>
<Servicios>Aereo</Servicios>
<Filler/>
<MarkupAvizo>0</MarkupAvizo>
<MarkUpRest>0</MarkUpRest>
<MarkUp>0</MarkUp>
<IVA>1</IVA>
<idPRV_ServiciosIVA>0</idPRV_ServiciosIVA>
<idEMP_Monedas>1</idEMP_Monedas>
<TipoCalculo1>1</TipoCalculo1>
<TipoCalculo2>1</TipoCalculo2>
</PRV_Servicios>
<PRV_Servicios diffgr:id="PRV_Servicios2" msdata:rowOrder="1">
<idPRV_Servicios>2</idPRV_Servicios>
<Servicios>Autos</Servicios>
<Filler/>
<MarkupAvizo>8.38</MarkupAvizo>
<MarkUpRest>1</MarkUpRest>
<MarkUp>10</MarkUp>
<IVA>1</IVA>
<idPRV_ServiciosIVA>0</idPRV_ServiciosIVA>
<idEMP_Monedas>1</idEMP_Monedas>
<TipoCalculo1>1</TipoCalculo1>
<TipoCalculo2>1</TipoCalculo2>
</PRV_Servicios>
<PRV_Servicios diffgr:id="PRV_Servicios3" msdata:rowOrder="2">
<idPRV_Servicios>3</idPRV_Servicios>
<Servicios>Cruceros</Servicios>
<Filler/>
<MarkupAvizo>12.5</MarkupAvizo>
<MarkUpRest>5.5</MarkUpRest>
<MarkUp>15</MarkUp>
<IVA>1</IVA>
<idPRV_ServiciosIVA>0</idPRV_ServiciosIVA>
<idEMP_Monedas>1</idEMP_Monedas>
<TipoCalculo1>1</TipoCalculo1>
<TipoCalculo2>1</TipoCalculo2>
</PRV_Servicios>
<PRV_Servicios diffgr:id="PRV_Servicios4" msdata:rowOrder="3">
<idPRV_Servicios>4</idPRV_Servicios>
<Servicios>Excursiones</Servicios>
<Filler/>
<MarkupAvizo>0</MarkupAvizo>
<MarkUpRest>0</MarkUpRest>
<MarkUp>0</MarkUp>
<IVA>0</IVA>
<idPRV_ServiciosIVA>0</idPRV_ServiciosIVA>
<idEMP_Monedas>2</idEMP_Monedas>
<TipoCalculo1>0</TipoCalculo1>
<TipoCalculo2>0</TipoCalculo2>
</PRV_Servicios>
<PRV_Servicios diffgr:id="PRV_Servicios5" msdata:rowOrder="4">
<idPRV_Servicios>5</idPRV_Servicios>
<Servicios>Hoteles</Servicios>
<Filler/>
<MarkupAvizo>12.5</MarkupAvizo>
<MarkUpRest>5.5</MarkUpRest>
<MarkUp>15</MarkUp>
<IVA>0</IVA>
<idPRV_ServiciosIVA>0</idPRV_ServiciosIVA>
<idEMP_Monedas>2</idEMP_Monedas>
<TipoCalculo1>1</TipoCalculo1>
<TipoCalculo2>2</TipoCalculo2>
</PRV_Servicios>
<PRV_Servicios diffgr:id="PRV_Servicios6" msdata:rowOrder="5">
<idPRV_Servicios>6</idPRV_Servicios>
<Servicios>Otros</Servicios>
<Filler/>
<MarkupAvizo>12.5</MarkupAvizo>
<MarkUpRest>5.5</MarkUpRest>
<MarkUp>15</MarkUp>
<IVA>0</IVA>
<idPRV_ServiciosIVA>0</idPRV_ServiciosIVA>
<idEMP_Monedas>2</idEMP_Monedas>
<TipoCalculo1>2</TipoCalculo1>
<TipoCalculo2>2</TipoCalculo2>
</PRV_Servicios>
<PRV_Servicios diffgr:id="PRV_Servicios7" msdata:rowOrder="6">
<idPRV_Servicios>7</idPRV_Servicios>
<Servicios>Trenes</Servicios>
<Filler/>
<MarkupAvizo>15.5</MarkupAvizo>
<MarkUpRest>5.5</MarkUpRest>
<MarkUp>22</MarkUp>
<IVA>1</IVA>
<idPRV_ServiciosIVA>0</idPRV_ServiciosIVA>
<idEMP_Monedas>1</idEMP_Monedas>
<TipoCalculo1>1</TipoCalculo1>
<TipoCalculo2>1</TipoCalculo2>
</PRV_Servicios>
<PRV_Servicios diffgr:id="PRV_Servicios8" msdata:rowOrder="7">
<idPRV_Servicios>8</idPRV_Servicios>
<Servicios>Buses</Servicios>
<Filler/>
<MarkupAvizo>15.5</MarkupAvizo>
<MarkUpRest>10</MarkUpRest>
<MarkUp>21</MarkUp>
<IVA>2</IVA>
<idPRV_ServiciosIVA>0</idPRV_ServiciosIVA>
<idEMP_Monedas>1</idEMP_Monedas>
<TipoCalculo1>1</TipoCalculo1>
<TipoCalculo2>1</TipoCalculo2>
</PRV_Servicios>
<PRV_Servicios diffgr:id="PRV_Servicios9" msdata:rowOrder="8">
<idPRV_Servicios>9</idPRV_Servicios>
<Servicios>Global</Servicios>
<Filler/>
<MarkupAvizo>0</MarkupAvizo>
<MarkUpRest>0</MarkUpRest>
<MarkUp>0</MarkUp>
<IVA>1</IVA>
<idPRV_ServiciosIVA>0</idPRV_ServiciosIVA>
<idEMP_Monedas>1</idEMP_Monedas>
<TipoCalculo1>1</TipoCalculo1>
<TipoCalculo2>1</TipoCalculo2>
</PRV_Servicios>
<PRV_Servicios diffgr:id="PRV_Servicios10" msdata:rowOrder="9">
<idPRV_Servicios>10</idPRV_Servicios>
<Servicios>Traslados</Servicios>
<Filler/>
<MarkupAvizo>12.5</MarkupAvizo>
<MarkUpRest>5.5</MarkUpRest>
<MarkUp>15</MarkUp>
<IVA>0</IVA>
<idPRV_ServiciosIVA>0</idPRV_ServiciosIVA>
<idEMP_Monedas>2</idEMP_Monedas>
<TipoCalculo1>0</TipoCalculo1>
<TipoCalculo2>0</TipoCalculo2>
</PRV_Servicios>
<PRV_Servicios diffgr:id="PRV_Servicios11" msdata:rowOrder="10">
<idPRV_Servicios>11</idPRV_Servicios>
<Servicios>Cena Show</Servicios>
<Filler/>
<MarkupAvizo>0</MarkupAvizo>
<MarkUpRest>0</MarkUpRest>
<MarkUp>0</MarkUp>
<IVA>1</IVA>
<idPRV_ServiciosIVA>0</idPRV_ServiciosIVA>
<idEMP_Monedas>1</idEMP_Monedas>
<TipoCalculo1>0</TipoCalculo1>
<TipoCalculo2>0</TipoCalculo2>
</PRV_Servicios>
<PRV_Servicios diffgr:id="PRV_Servicios12" msdata:rowOrder="11">
<idPRV_Servicios>12</idPRV_Servicios>
<Servicios>Paquetes</Servicios>
<Filler/>
<MarkupAvizo>0</MarkupAvizo>
<MarkUpRest>0</MarkUpRest>
<MarkUp>0</MarkUp>
<IVA>1</IVA>
<idPRV_ServiciosIVA>0</idPRV_ServiciosIVA>
<idEMP_Monedas>2</idEMP_Monedas>
<TipoCalculo1>0</TipoCalculo1>
<TipoCalculo2>0</TipoCalculo2>
</PRV_Servicios>
<PRV_Servicios diffgr:id="PRV_Servicios13" msdata:rowOrder="12">
<idPRV_Servicios>13</idPRV_Servicios>
<Servicios>Asistencia</Servicios>
<Filler/>
<MarkupAvizo>0</MarkupAvizo>
<MarkUpRest>0</MarkUpRest>
<MarkUp>0</MarkUp>
<IVA>1</IVA>
<idPRV_ServiciosIVA>0</idPRV_ServiciosIVA>
<idEMP_Monedas>1</idEMP_Monedas>
<TipoCalculo1>1</TipoCalculo1>
<TipoCalculo2>1</TipoCalculo2>
</PRV_Servicios>
<PRV_Servicios diffgr:id="PRV_Servicios14" msdata:rowOrder="13">
<idPRV_Servicios>14</idPRV_Servicios>
<Servicios>Guia</Servicios>
<Filler/>
<MarkupAvizo>0</MarkupAvizo>
<MarkUpRest>0</MarkUpRest>
<MarkUp>0</MarkUp>
<IVA>1</IVA>
<idPRV_ServiciosIVA>0</idPRV_ServiciosIVA>
<idEMP_Monedas>1</idEMP_Monedas>
<TipoCalculo1>1</TipoCalculo1>
<TipoCalculo2>1</TipoCalculo2>
</PRV_Servicios>
<PRV_Servicios diffgr:id="PRV_Servicios15" msdata:rowOrder="14">
<idPRV_Servicios>15</idPRV_Servicios>
<Servicios>Extras</Servicios>
<Filler/>
<MarkupAvizo>0</MarkupAvizo>
<MarkUpRest>0</MarkUpRest>
<MarkUp>0</MarkUp>
<IVA>0</IVA>
<idPRV_ServiciosIVA>0</idPRV_ServiciosIVA>
<idEMP_Monedas>2</idEMP_Monedas>
<TipoCalculo1>0</TipoCalculo1>
<TipoCalculo2>0</TipoCalculo2>
</PRV_Servicios>
</DocumentElement>
</diffgr:diffgram>
你嘗試過什麼?向我們展示一些代碼。 – alkis 2014-09-10 21:04:34
這是將XS:SHEMA返回給我的代碼。非常感謝你 '<?php $ wsdl =「http://192.168.0.1/Service.asmx?WSDL」; // Credenciales $ credenciales = array(); // parametros de la llamada $ credenciales [「Usuario」] =「user」; $ credenciales [「Password」] =「12345」; // Fin de Credenciales $ respuesta = new SoapClient($ wsdl); $ consulta = $ respuesta-> Consulta_Servicios($ credenciales); echo「 RESPUESTA DE LACONSULTA
」; ?>' – 2014-09-11 16:02:43」; echo「
這不是我問的。我問你是否寫過任何試圖讀取xml的代碼。你不能只是要求解決方案。你必須表現出一些努力。 – alkis 2014-09-11 16:53:15