Search the Community
Showing results for tags 'simplexmlelement'.
-
I have the following code below: <?php $xml = '<Divisions xmlns="urn:description7a.services.chrome.com"> <responseStatus responseCode="Successful" description="Successful"/> <division id="1">Acura</division> <division id="44">Aston Martin</division> <division id="4">Audi</division> <division id="45">Bentley</division> <division id="5">BMW</division> <division id="6">Buick</division> <division id="7">Cadillac</division> <division id="8">Chevrolet</division> <division id="9">Chrysler</division> <division id="11">Dodge</division> <division id="46">Ferrari</division> <division id="59">FIAT</division> <division id="13">Ford</division> <division id="170">Freightliner</division> <division id="15">GMC</division> <division id="16">Honda</division> <division id="17">Hyundai</division> <division id="18">Infiniti</division> <division id="19">Isuzu</division> <division id="20">Jaguar</division> <division id="21">Jeep</division> <division id="22">Kia</division> <division id="47">Lamborghini</division> <division id="23">Land Rover</division> <division id="24">Lexus</division> <division id="25">Lincoln</division> <division id="48">Lotus</division> <division id="53">Maserati</division> <division id="26">Mazda</division> <division id="61">McLaren</division> <division id="27">Mercedes-Benz</division> <division id="2">MINI</division> <division id="29">Mitsubishi</division> <division id="30">Nissan</division> <division id="34">Porsche</division> <division id="57">Ram</division> <division id="49">Rolls-Royce</division> <division id="52">Scion</division> <division id="42">Smart</division> <division id="37">Subaru</division> <division id="56">Tesla</division> <division id="39">Toyota</division> <division id="40">Volkswagen</division> <division id="41">Volvo</division> </Divisions> '; $parse = simplexml_load_string($xml); print_r($parse); The problem is is that it's not keeping the attribute values in the xml like <division id="1">Acura</division> <division id="44">Aston Martin</division> The PHP is erasing it to be like: array ( 0 => 'Acura', 1 => 'Aston Martin' ); I'm passing this to JSON so I need it to stay in the format of an array, but need the indexes to be the value of the division ID attribute. This is what it's exactly outputting right now: SimpleXMLElement Object ( [responseStatus] => SimpleXMLElement Object ( [@attributes] => Array ( [responseCode] => Successful [description] => Successful ) ) [division] => Array ( [0] => Acura [1] => Aston Martin [2] => Audi [3] => Bentley [4] => BMW [5] => Buick [6] => Cadillac [7] => Chevrolet [8] => Chrysler [9] => Dodge [10] => Ferrari [11] => FIAT [12] => Ford [13] => Freightliner [14] => GMC [15] => Honda [16] => Hyundai [17] => Infiniti [18] => Isuzu [19] => Jaguar [20] => Jeep [21] => Kia [22] => Lamborghini [23] => Land Rover [24] => Lexus [25] => Lincoln [26] => Lotus [27] => Maserati [28] => Mazda [29] => McLaren [30] => Mercedes-Benz [31] => MINI [32] => Mitsubishi [33] => Nissan [34] => Porsche [35] => Ram [36] => Rolls-Royce [37] => Scion [38] => Smart [39] => Subaru [40] => Tesla [41] => Toyota [42] => Volkswagen [43] => Volvo ) ) Thank you for any help!
- 2 replies
-
- php
- xml-parsing
-
(and 2 more)
Tagged with:
-
In searching how to wright cdata tags into my xml document using simpleXML i came across this example and when i try and use it Dreamweaver shows that lines 4-7 are wrong i try and run the code anyway and i get this error syntax error, unexpected T_VARIABLE on line 4 <?php class SimpleXMLExtended extends SimpleXMLElement{ public function addCData($cdata_text){ $node= dom_import_simplexml($this); $no = $node->ownerDocument; $node->appendChild($no->createCDATASection($cdata_text)); } } $xml_doc = new SimpleXMLExtended('save.xml',NULL,TRUE); $email = $xml_doc->addChild('email'); $email->addAttribute('id',$id); $email->from = NULL; $email->from->addCData($from); $xml_doc->asXML('save.xml'); ?>