0

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

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

如果有人可以在这里直接指出我,将不胜感激。就像获得 1 条信息向我展示如何那样简单,我不需要为我完成所有工作。谢谢你。

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>

正如您所看到的那样,我必须在客户端服务器上使用wavetest“hello world”返回,同时让它工作。如果有人可以告诉我如何检索例如“ArtikelCode”

或者如何获得所有“Voorraad diffgr:id="id_name" 也很好

4

1 回答 1

0

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

像他建议的那样再次搜索后,我发现这个问题帖子最有帮助

PHP 使用 SimpleXML 处理命名空间

于 2013-03-05T20:33:51.167 回答