2015-06-23 78 views
2
XML響應

我打電話通過捲曲一個API方法,我得到這樣的響應:反序列化或解析在Symfony2中

<?xml version="1.0" encoding="UTF-8"?> 
<jobInfo 
    xmlns="http://www.force.com/2009/06/asyncapi/dataload"> 
    <id>75080000002s5siAAA</id> 
    <operation>query</operation> 
    <object>User</object> 
    <createdById>00580000008ReolAAC</createdById> 
    <createdDate>2015-06-23T13:03:01.000Z</createdDate> 
    <systemModstamp>2015-06-23T13:03:01.000Z</systemModstamp> 
    <state>Open</state> 
    <concurrencyMode>Parallel</concurrencyMode> 
    <contentType>CSV</contentType> 
    <numberBatchesQueued>0</numberBatchesQueued> 
    <numberBatchesInProgress>0</numberBatchesInProgress> 
    <numberBatchesCompleted>0</numberBatchesCompleted> 
    <numberBatchesFailed>0</numberBatchesFailed> 
    <numberBatchesTotal>0</numberBatchesTotal> 
    <numberRecordsProcessed>0</numberRecordsProcessed> 
    <numberRetries>0</numberRetries> 
    <apiVersion>34.0</apiVersion> 
    <numberRecordsFailed>0</numberRecordsFailed> 
    <totalProcessingTime>0</totalProcessingTime> 
    <apiActiveProcessingTime>0</apiActiveProcessingTime> 
    <apexProcessingTime>0</apexProcessingTime> 
</jobInfo> 

我想訪問|解析結果在一個簡單的方法,我不知道我應該反序列化XML或者只是嘗試使用一些PHP原生XML函數來讀取它。所以首先有疑問的想法?

如果是更好的反序列化XML,我已「在Symfony2的反序列化XML與JMSSerializerBundle」閱讀this post和不明確的一切對我來說,如果我需要一個實體來實現這一目標。也this other話題 仍然混淆了我。對此有何建議?經驗?建議?

+0

http://php.net/manual/en/function.simplexml-load-string。 PHP –

回答

4

這取決於你的意圖。如果您想直接將部分或全部XML推送到實體/文檔對象以保存到數據庫,那麼JMSSerializerBundle可以非常巧妙地完成此操作,而且絕對是實現它的最佳方式。

如果您只是想從xml中提取一個或兩個字段並在其他業務邏輯中使用它們,那麼只需將xml加載到SimpleXML對象中通常會更簡單。