2013-06-20 10 views
5

mam odpowiedź tak:składni XML wewnątrz obiektu xml (z atrybutem) na tablicy w CakePHP

<test xmlns="http://schemas.datacontract.org/2004/07/test.Messages.test" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> 
    <ProcessInstanceId xmlns="http://schemas.test.org/2004/07/test.Messages.Core">047d11f9-e381-4134-8bfa-da94cefda316</ProcessInstanceId> 
    <ResultData i:type="a:InfoByZipCode" xmlns="http://schemas.test.org/2004/07/test.Messages.Core" xmlns:a="http://schemas.test.org/2004/07/test.DomainModel.Transient"> 
     <a:City>Bangalore</a:City> 
     <a:County>India</a:County> 
     <a:Products xmlns:b="http://schemas.test.org/2004/07/test.DomainModel.Views"/> 
     <a:State>Connecticut</a:State> 
     <a:StateCode>SBC</a:StateCode> 
     <a:ZipCode>56001</a:ZipCode> 
    </ResultData> 
    <Success>TRUE</Success> 
    <ResponseTime>2013-06-20T07:30:09.7558017-04:00</ResponseTime> 
</test> 

Jak mogę przekonwertować to do formatu tablicy?

Odpowiedz

4

O ile mi wiadomo, wszystko, co chcesz wiedzieć, można znaleźć w Cakebook: http://book.cakephp.org/2.0/en/core-utility-libraries/xml.html

Więc można analizować XML do tablicy tak proste, jak:

$xmlString = '<?xml version="1.0"?><root><child>value</child></root>'; // XML string 
$xmlArray = Xml::toArray(Xml::build($xmlString)); 

W wyniku twojej woli $xmlArray coś takiego:

Array 
(
    [root] => Array 
     (
      [child] => value 
     ) 
) 
+0

Dobra robota ziemo ... – Pank

+0

Dzięki ziemo i dodać tę linię zbyt (App :: import ('narzędzia', 'xml');) jeśli ur użyciu CakePHP 2. x – Ayesha