0
下面我有以下代碼:PHP的XML解析會刪除屬性值
<?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);
的問題是在於它的不守在XML屬性值,就像
<division id="1">Acura</division>
<division id="44">Aston Martin</division>
的PHP是消除它就像:
array (
0 => 'Acura',
1 => 'Aston Martin'
);
我傳遞給JSON所以我需要它留在一個數組的格式,但需要我指定爲分部ID屬性的值。這就是它現在正在輸出:
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
)
)
謝謝你的幫助!
問題是simplexml_load_string()...它擺脫了ID,所以之後的foreach沒有意義。我試過了,它只在var_dump上返回''。這不是來自文件,而是來自一個字符串。我的XML在load_string函數之前看起來不像你的。我不能像這樣輸出它,因爲我使用的API在我的第一篇文章中以格式輸出。我無法控制如何輸出。 – HaleyBuggs 2014-09-12 19:55:46