2011-08-17 22 views
0

我试图弄明白如何解析XML效应初探,但没有运气,我需要的是记录部分:解析XML

<env:envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"> 
<env:header/> 
<env:body> 
<ns2:getcalllogreportresponse xmlns:ns2="http://service.admin.ws.five9.com/"> 
<return> 
<header> 
<values> 
<data>DATE</data> 
<data>TIME</data> 
<data>DNIS</data> 
<data>ANI</data> 
<data>CALL TYPE</data> 
<data>CAMPAIGN</data> 
<data>AGENT</data> 
<data>DISPOSITION</data> 
<data>SKILL</data> 
<data>DURATION</data> 
<data>BILL TIME (ROUNDED)</data> 
<data>HOLD TIME</data> 
<data>QUEUE WAIT TIME</data> 
<data>HANDLE TIME</data> 
<data>RATE</data> 
<data>COST</data> 
</values> 
</header> 
<records> 
<values> 
<data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true">...</data> 
</values> 
</records> 
<records>...</records> 
<records>...</records> 
<!--...--> 

我使用PHP,但完全XML和SOAP新手。谢谢。

回答

1

这是因为您不应该手动进行肥皂请求或响应。通过为其提供一个WSDL文件(应该通过您试图访问的任何服务提供给您)来使用像SoapClient这样的库。 SoapClient接受这个WSDL文件并返回一个对象给你,它有很少的方法可以调用来与服务交互。如果肥皂看起来很硬,手工或笨,那么(如你所怀疑的)你做错了。不过,我很高兴你问,因为我遇到了发生这个错误的开发团队,并花了6个月的时间来构建类来手动与SOAP服务进行交互。