PHP curl> SOAP使数据在获取信息时遇到问题

时间:2013-03-05 16:22:37

标签: php soap curl xml-parsing

我最近问了一个关于在PHP中使用SOAP的不同问题但是从那时起厌倦了客户端服务器响应永远不会起作用。相反,我切换到cURL,在那里我可以指定所有内容,现在我得到了正确的答案。

我的问题在于从这些数据中获取信息。我已经尝试了过去2天的教程,其中大多数我尝试过工作正常但是当我将相同的方法应用于我自己的数据时,我得到空的结果。我>思考<因为xml标签在名称中使用空格或类似的东西,我不知道。

如果有人能直接指出我在这里,我将非常感激。就像获得一条告诉我如何的信息一样简单,我不需要为我完成所有这些。谢谢。

XML返回如下:

<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><FetchStockResponse xmlns="http://www.wics.nl"><FetchStockResult><DS><xs:schema id="rsVoorraad" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:msprop="urn:schemas-microsoft-com:xml-msprop"><xs:element name="rsVoorraad" msdata:IsDataSet="true" msdata:Locale="" msprop:PROGRESS.brejected="False" msprop:PROGRESS.bdata_source_mod="False"><xs:complexType><xs:choice minOccurs="0" maxOccurs="unbounded"><xs:element name="Voorraad" msdata:Locale="" msprop:PROGRESS.brejected="False" msprop:PROGRESS.bdata_source_mod="False" msprop:PROGRESS.errorString="" msprop:PROGRESS.bundo="True" msprop:PROGRESS.bimage_flag="False"><xs:complexType><xs:sequence><xs:element name="ArtikelCode" msprop:PROGRESS.user_order="0" msprop:PROGRESS.position="2" type="xs:string" minOccurs="0" /><xs:element name="ArtikelGroepCode" msprop:PROGRESS.user_order="1" msprop:PROGRESS.position="3" type="xs:string" minOccurs="0" /><xs:element name="Omschrijving" msprop:PROGRESS.user_order="2" msprop:PROGRESS.position="4" type="xs:string" minOccurs="0" /><xs:element name="VariantCode" msprop:PROGRESS.user_order="3" msprop:PROGRESS.position="5" type="xs:string" minOccurs="0" /><xs:element name="Type" msprop:PROGRESS.user_order="4" msprop:PROGRESS.position="6" type="xs:string" minOccurs="0" /><xs:element name="Aantal" msprop:PROGRESS.init_value="0" msprop:PROGRESS.user_order="5" msprop:PROGRESS.position="7" type="xs:decimal" default="0" minOccurs="0" /><xs:element name="OrderVoorraad" msdata:Locale="" msprop:PROGRESS.brejected="False" msprop:PROGRESS.bdata_source_mod="False" msprop:PROGRESS.errorString="" msprop:PROGRESS.bundo="True" msprop:PROGRESS.bimage_flag="False" minOccurs="0" maxOccurs="unbounded"><xs:annotation><xs:appinfo><msdata:Relationship name="relOrder" msdata:parent="Voorraad" msdata:child="OrderVoorraad" msdata:parentkey="Type ArtikelCode" msdata:childkey="Type ArtikelCode" /></xs:appinfo></xs:annotation><xs:complexType><xs:sequence><xs:element name="Type" msprop:PROGRESS.user_order="0" msprop:PROGRESS.position="2" type="xs:string" /><xs:element name="ArtikelCode" msprop:PROGRESS.user_order="1" msprop:PROGRESS.position="3" type="xs:string" /><xs:element name="VariantCode" msprop:PROGRESS.user_order="2" msprop:PROGRESS.position="4" type="xs:string" /><xs:element name="Ordernummer" msprop:PROGRESS.init_value="0" msprop:PROGRESS.user_order="3" msprop:PROGRESS.position="5" type="xs:int" default="0" /><xs:element name="Regelnummer" msprop:PROGRESS.init_value="0" msprop:PROGRESS.user_order="4" msprop:PROGRESS.position="6" type="xs:int" default="0" /><xs:element name="Referentie" msprop:PROGRESS.user_order="5" msprop:PROGRESS.position="7" type="xs:string" minOccurs="0" /><xs:element name="Plaats" msprop:PROGRESS.user_order="6" msprop:PROGRESS.position="8" type="xs:string" minOccurs="0" /><xs:element name="Leverdatum" msprop:PROGRESS.user_order="7" msprop:PROGRESS.position="9" type="xs:dateTime" minOccurs="0" /><xs:element name="Aantal" msprop:PROGRESS.init_value="0" msprop:PROGRESS.user_order="8" msprop:PROGRESS.position="10" type="xs:decimal" default="0" minOccurs="0" /></xs:sequence></xs:complexType></xs:element></xs:sequence></xs:complexType></xs:element></xs:choice></xs:complexType><xs:unique name="idxOrderVoorraad" msdata:PrimaryKey="true"><xs:selector xpath=".//OrderVoorraad" /><xs:field xpath="Type" /><xs:field xpath="ArtikelCode" /><xs:field xpath="VariantCode" /><xs:field xpath="Ordernummer" /><xs:field xpath="Regelnummer" /></xs:unique></xs:element></xs:schema><diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1"><rsVoorraad xmlns=""><Voorraad diffgr:id="Voorraad1" msdata:rowOrder="0"><ArtikelCode>WAVETEST</ArtikelCode><ArtikelGroepCode>ALG</ArtikelGroepCode><Omschrijving>Wave test artikel</Omschrijving><VariantCode /><Type>Beschadigd</Type><Aantal>0</Aantal></Voorraad><Voorraad diffgr:id="Voorraad2" msdata:rowOrder="1"><ArtikelCode>WAVETEST</ArtikelCode><ArtikelGroepCode>ALG</ArtikelGroepCode><Omschrijving>Wave test artikel</Omschrijving><VariantCode /><Type>Beschikbare voorraad</Type><Aantal>97</Aantal></Voorraad><Voorraad diffgr:id="Voorraad3" msdata:rowOrder="2"><ArtikelCode>WAVETEST</ArtikelCode><ArtikelGroepCode>ALG</ArtikelGroepCode><Omschrijving>Wave test artikel</Omschrijving><VariantCode /><Type>Gereserveerd</Type><Aantal>0</Aantal></Voorraad><Voorraad diffgr:id="Voorraad4" msdata:rowOrder="3"><ArtikelCode>WAVETEST</ArtikelCode><ArtikelGroepCode>ALG</ArtikelGroepCode><Omschrijving>Wave test artikel</Omschrijving><VariantCode /><Type>In backorder</Type><Aantal>0</Aantal></Voorraad><Voorraad diffgr:id="Voorraad5" msdata:rowOrder="4"><ArtikelCode>WAVETEST</ArtikelCode><ArtikelGroepCode>ALG</ArtikelGroepCode><Omschrijving>Wave test artikel</Omschrijving><VariantCode /><Type>In orderverwerking</Type><Aantal>5</Aantal><OrderVoorraad diffgr:id="OrderVoorraad1" msdata:rowOrder="0"><Type>In orderverwerking</Type><ArtikelCode>WAVETEST</ArtikelCode><VariantCode /><Ordernummer>554712</Ordernummer><Regelnummer>1</Regelnummer><Referentie>test decimalen</Referentie><Plaats>Testdorp</Plaats><Leverdatum>2012-02-14T00:00:00+01:00</Leverdatum><Aantal>2</Aantal></OrderVoorraad><OrderVoorraad diffgr:id="OrderVoorraad2" msdata:rowOrder="1"><Type>In orderverwerking</Type><ArtikelCode>WAVETEST</ArtikelCode><VariantCode /><Ordernummer>741124</Ordernummer><Regelnummer>1</Regelnummer><Referentie>test auto mail DHL</Referentie><Plaats>Heerhugowaard</Plaats><Leverdatum>2012-09-07T00:00:00+02:00</Leverdatum><Aantal>1</Aantal></OrderVoorraad></Voorraad><Voorraad diffgr:id="Voorraad6" msdata:rowOrder="5"><ArtikelCode>WAVETEST</ArtikelCode><ArtikelGroepCode>ALG</ArtikelGroepCode><Omschrijving>Wave test artikel</Omschrijving><VariantCode /><Type>Te ontvangen</Type><Aantal>0</Aantal></Voorraad><Voorraad diffgr:id="Voorraad7" msdata:rowOrder="6"><ArtikelCode>WAVETEST</ArtikelCode><ArtikelGroepCode>ALG</ArtikelGroepCode><Omschrijving>Wave test artikel</Omschrijving><VariantCode /><Type>Vrije voorraad</Type><Aantal>100</Aantal></Voorraad><Voorraad diffgr:id="Voorraad8" msdata:rowOrder="7"><ArtikelCode>WAVETEST2</ArtikelCode><ArtikelGroepCode>ALG</ArtikelGroepCode><Omschrijving>Wave test 2</Omschrijving><VariantCode /><Type>Beschadigd</Type><Aantal>19</Aantal></Voorraad><Voorraad diffgr:id="Voorraad9" msdata:rowOrder="8"><ArtikelCode>WAVETEST2</ArtikelCode><ArtikelGroepCode>ALG</ArtikelGroepCode><Omschrijving>Wave test 2</Omschrijving><VariantCode /><Type>Beschikbare voorraad</Type><Aantal>0</Aantal></Voorraad><Voorraad diffgr:id="Voorraad10" msdata:rowOrder="9"><ArtikelCode>WAVETEST2</ArtikelCode><ArtikelGroepCode>ALG</ArtikelGroepCode><Omschrijving>Wave test 2</Omschrijving><VariantCode /><Type>Gereserveerd</Type><Aantal>0</Aantal></Voorraad><Voorraad diffgr:id="Voorraad11" msdata:rowOrder="10"><ArtikelCode>WAVETEST2</ArtikelCode><ArtikelGroepCode>ALG</ArtikelGroepCode><Omschrijving>Wave test 2</Omschrijving><VariantCode /><Type>In backorder</Type><Aantal>0</Aantal></Voorraad><Voorraad diffgr:id="Voorraad12" msdata:rowOrder="11"><ArtikelCode>WAVETEST2</ArtikelCode><ArtikelGroepCode>ALG</ArtikelGroepCode><Omschrijving>Wave test 2</Omschrijving><VariantCode /><Type>In orderverwerking</Type><Aantal>0</Aantal></Voorraad><Voorraad diffgr:id="Voorraad13" msdata:rowOrder="12"><ArtikelCode>WAVETEST2</ArtikelCode><ArtikelGroepCode>ALG</ArtikelGroepCode><Omschrijving>Wave test 2</Omschrijving><VariantCode /><Type>Te ontvangen</Type><Aantal>0</Aantal></Voorraad><Voorraad diffgr:id="Voorraad14" msdata:rowOrder="13"><ArtikelCode>WAVETEST2</ArtikelCode><ArtikelGroepCode>ALG</ArtikelGroepCode><Omschrijving>Wave test 2</Omschrijving><VariantCode /><Type>Vrije voorraad</Type><Aantal>0</Aantal></Voorraad></rsVoorraad></diffgr:diffgram></DS><AantRec /></FetchStockResult></FetchStockResponse></soap:Body></soap:Envelope>

这是因为你可以看到我在客户端服务器上玩这个有效的“hello world”返回。如果有人能告诉我如何检索例如“ArtikelCode”

或如何获得所有“Voorraad diffgr:id =”id_name“也将非常出色

1 个答案:

答案 0 :(得分:0)

Wrikken非常正确,我没有正确理解命名空间及其对输出的影响。

再次搜索后,他建议我发现这个问题最有帮助

PHP Handling Namespace with SimpleXML