从解析的XML Soap消息中获取值

时间:2016-06-13 13:37:36

标签: php xml wcf soap

我正在尝试使用PHP使用C#WCF Web服务,而且我目前面临着一个非常大的问题。

首先,让我向您展示WCF Webservice响应之一:

<?xml version="1.0" encoding="UTF-8"?>
   <s:envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
      <s:header>
         <activityid xmlns="http://schemas.microsoft.com/2004/09/ServiceModel/Diagnostics" correlationid="6b8187a6-79a9-4bc4-a195-7c3b66547408">b340ad42-7be9-466c-a9f1-4048d35b7cb5</activityid>
      </s:header>
      <s:body>
     <getalljobsresponse xmlns="http://tempuri.org/">
        <getalljobsresult xmlns:a="http://schemas.datacontract.org/2004/07/Transcode.Webservice.Messages" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
           <a:jobinfo>
              <a:associatedfilesize>34551192</a:associatedfilesize>
              <a:associateduserid>10</a:associateduserid>
              <a:jobcompletiondate>2016-06-09T10:37:42.2568136</a:jobcompletiondate>
              <a:jobid>29</a:jobid>
              <a:jobsubmissiondate>2016-06-09T10:37:27.8522463</a:jobsubmissiondate>
              <a:remotefilepath>ftp://localhost/transcode_uploads/Luc/LinkinPark-DontStay.au</a:remotefilepath>
              <a:taskprice>0.05</a:taskprice>
              <a:taskstate>2</a:taskstate>
           </a:jobinfo>
           <a:jobinfo>
              <a:associatedfilesize>34551192</a:associatedfilesize>
              <a:associateduserid>10</a:associateduserid>
              <a:jobcompletiondate>2016-06-09T11:46:07.7590635</a:jobcompletiondate>
              <a:jobid>1029</a:jobid>
              <a:jobsubmissiondate>2016-06-09T11:45:55.8115507</a:jobsubmissiondate>
              <a:remotefilepath>ftp://localhost/transcode_uploads/Luc/LinkinPark-DontStay.au</a:remotefilepath>
              <a:taskprice>0.05</a:taskprice>
              <a:taskstate>2</a:taskstate>
           </a:jobinfo>
        </getalljobsresult>
     </getalljobsresponse>
  </s:body>
</s:envelope>

我正在尝试一切来获取一个包含所有属性的jobinfo元素,但它看起来效果不好......

我尝试了以下代码行:

$xml->getElementsByTagName('associatedfilesize')->item(0)->nodeValue

它适用于单个属性,就像jobid或其他任何东西一样!

问题是,我希望通过使用以下内容完整地获得jobInfo objet:

$xml->getElementsByTagName('jobInfo')

你能帮助我们吗,我没有多少时间来完成我的工作,而且我长期坚持这个问题......

0 个答案:

没有答案