将XML数据提取到php

Extracting XML data to php

本问题已经有最佳答案,请猛点这里访问。

我正在尝试从XML文件(http://freegoip.net/xml/google.com)中提取数据。您可以看到文件的内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
<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>

我想获取存储在标记中的信息,并将它们存储在单独的变量中。问题是,我不知道该怎么做,想知道是否有人能教我如何用PHP解析XML文件?


1
2
3
4
5
$string_data ="<your xml response>";
$xml = simplexml_load_string($string_data);
$latitude = (string) $xml->Latitude;
$longitude = (string) $xml->Longitude;
echo $latitude.' '.$longitude;

很简单,使用PHP的SimpleXML库:

1
2
3
4
5
$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解析的内容:

  • http://php.net/manual/en/book.simplexml.php
  • http://php.net/manual/en/book.xml.php

为了简单起见,您还可以使用XML将_解析为_struct()。

下面是一个很好的示例,使用simpleXML:

How to parse XML with PHP5