Я пытаюсь извлечь данные из файла XML ( http://freegeoip.net/xml/google.com ). Вы можете видеть, что содержимое файла выглядит примерно так:
<Response> <Ip>74.125.235.3</Ip> <CountryCode>US</CountryCode> <CountryName>United States</CountryName> <RegionCode>CA</RegionCode> <RegionName>California</RegionName> <City>Mountain View</City> <ZipCode>94043</ZipCode> <Latitude>37.4192</Latitude> <Longitude>-122.0574</Longitude> <MetroCode>807</MetroCode> <AreaCode>650</AreaCode> </Response>
Я хочу взять информацию, хранящуюся в тегах <latitude>
и <longitude>
, и хранить их в отдельных переменных. Проблема в том, что я не знаю, как это сделать, и задавался вопросом, может ли кто-нибудь показать мне, как анализировать XML-файлы с помощью php?
$string_data = "<your xml response>"; $xml = simplexml_load_string($string_data); $latitude = (string) $xml->Latitude; $longitude = (string) $xml->Longitude; echo $latitude.' '.$longitude;
Это легко, используйте PHP-библиотеку SimpleXML:
$xml = simplexml_load_file("http://freegeoip.net/xml/google.com"); echo $xml->Ip; // 173.194.38.174 echo $xml->CountryCode; // US echo $xml->ZipCode; // 94043 // etc...
В руководстве по PHP есть целый раздел по разбору PHP:
Для простоты вы также можете использовать xml_parse_into_struct ()
Вот довольно хороший пример, используя SimpleXML: