在我的PHP的網站我想讀取XML文件是這樣的:讀取XML動態PHP
<?xml version="1.0" standalone="yes"?>
<RETURNDATA lang="it-IT" type="COR" xsi:noNamespaceSchemaLocation="http://xmlv5test.travco.co.uk/trlink/schema/CountryRequestV6Rcv.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<MESSAGE>All Countries details and relevant city details</MESSAGE>
<DATA COUNTRY_CODE="ABW" CURRENCY_CODE="EUR">
<COUNTRY_NAME>Aruba</COUNTRY_NAME>
<CURRENCY_NAME>euro</CURRENCY_NAME>
<COUNTRY_CITIES>
<CITY_DATA CITY_CODE="AUA">
<CITY_NAME>Aruba</CITY_NAME>
</CITY_DATA>
</COUNTRY_CITIES>
</DATA>
<DATA COUNTRY_CODE="ALB" CURRENCY_CODE="EUR">
<COUNTRY_NAME>Albania</COUNTRY_NAME>
<CURRENCY_NAME>euro</CURRENCY_NAME>
<COUNTRY_CITIES>
<CITY_DATA CITY_CODE="TIA">
<CITY_NAME>Tirana</CITY_NAME>
</CITY_DATA>
</COUNTRY_CITIES>
</DATA>
<DATA COUNTRY_CODE="ARE" CURRENCY_CODE="EUR">
<COUNTRY_NAME>Emirati Arabi Uniti</COUNTRY_NAME>
<CURRENCY_NAME>euro</CURRENCY_NAME>
<COUNTRY_CITIES>
<CITY_DATA CITY_CODE="DXB">
<CITY_NAME>Dubai</CITY_NAME>
</CITY_DATA>
<CITY_DATA CITY_CODE="AAI">
<CITY_NAME>Al Ain</CITY_NAME>
</CITY_DATA>
<CITY_DATA CITY_CODE="FJR">
<CITY_NAME>Fujaira</CITY_NAME>
</CITY_DATA>
<CITY_DATA CITY_CODE="SSH">
<CITY_NAME>Sharja</CITY_NAME>
</CITY_DATA>
<CITY_DATA CITY_CODE="RKT">
<CITY_NAME>Ras al-Khaimah</CITY_NAME>
</CITY_DATA>
<CITY_DATA CITY_CODE="AUH">
<CITY_NAME>Abu Dhabi</CITY_NAME>
</CITY_DATA>
</COUNTRY_CITIES>
</DATA>
</RETURNDATA>
我想在每個節點名稱要輸入的數據,並採取:
COUNTRY_CODE
CURRENCY_CODE
COUNTRY_NAME
CURRENCY_NAME
而且所有的國家城市代碼和名字都變成了數組關聯。
我已經嘗試過使用SimpleXML,但是XML是動態的,我想優化我的循環,因爲我可以有一個很大很大的XML(這只是它的一小部分)。
$xml_str = file_get_contents('xml/country.xml');
$xml = new SimpleXMLElement($xml_str);
echo $xml->getName(), PHP_EOL;
foreach($xml as $name => $part) {
echo "$name: $part", PHP_EOL;
}
我想創建一個非常otpimize週期把我的價值
什麼不適用於您的代碼?我的意思是什麼是具體問題? SimpleXML通常可以正常工作,但是您不會在專門爲您工作的地方編寫代碼。你可能應該在你的問題中說,這樣可以回答;) – hakre 2013-03-07 17:24:52
我想以最高效的模式檢索我的數據@hakre – 2013-03-07 17:38:59
定義「高效模式」。這可能意味着很多。爲什麼你說現在效率不高? – hakre 2013-03-07 17:42:54