переменные php domDocument - PullRequest
       9

переменные php domDocument

1 голос
/ 11 января 2011

На данный момент у меня есть следующий код:

$ip = '195.72.186.157';

$xmlDoc = new DOMDocument();
$xmlDoc->loadXML(file_get_contents('http://www.geoffmeierhans.com/services/geo-locator/locate/?ip='.$ip.'&output=xml'));

foreach($xmlDoc->getElementsByTagName('city') as $link) {
    $links = array('text' => $link->nodeValue);
} 
$city = $links['text'];
echo $city;

Есть ли лучший способ получить переменную города?Поскольку есть только один тег с именем city, цикл на самом деле не нужен, но я не могу заставить его работать другим способом

1 Ответ

4 голосов
/ 11 января 2011

Ну, вы можете использовать параметр length для DomNodeList (что возвращает вызов getElementsByTagName.

Если вам нужен только первый результат:

$nodes = $xmlDoc->getElementsByTagName('city');
if ($nodes->length > 0) {
    $city = $nodes->item(0)->nodeValue;
} else {
    $city = '';  // There is no city element
}
...