2011-01-11 5 views
1

나는 순간에 다음과 같은 코드가 있습니다의 PHP DOMDocument를 변수

$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; 

도시 변수를 얻을 수있는 더 나은 방법이 있나요를? 이 루프가 정말 필요하지 않은 도시라는 하나 개의 태그하지만 난 그것을 다른 방법

+0

은 * (tipp가) *'DOMDocument를이 :: load' 원격 문서를로드 할 수

당신은 첫 번째 결과를합니다. – Gordon

답변

4

음을 작동시킬 수 없기 때문에, 당신은 getElementsByTagName 호출에 의해 반환 무슨 DomNodeList (에 length 매개 변수를 사용할 수 있습니다.

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