Ciao a tutti,
seguendo questo tutorial (http://www.holyguard.net/detail/php-...-dom/1/60/301/) sto utilizzando PHP e DOM per estrarre dei dati da un file xml. Tutto funziona perfettamente se utilizzo un file xml salvato nel mio pc, per esempio:
$objDOM = new DOMDocument();
$objDOM->load("dati.xml");
Se invece al posto di "dati.xml" inserisco un indirizzo (che in realtà poi rimanderà allo stesso identico contenuto di dati.xml) del tipo "http://where.yahooapis.com/v1/places.q('ZZZ')?appid=ZZZ", non funziona più.
Ecco un esempio di codice:
Codice PHP:
$objDOM = new DOMDocument();
$objDOM->load("http://where.yahooapis.com/v1/places.q('ZZZ')?appid=ZZZ");
$code = $objDOM->getElementsByTagName("code");
$codice = $code->item(0)->nodeValue;
echo "$codice";
L'errore in questo caso è: Notice: Trying to get property of non-object in pagina.php on line 15 (riga 15: $codice = $code->item(0)->nodeValue; )
In alternativa, dato che uso PHP 5, quale potrebbe essere il codice PHP usando SimpleXML per estrarre unicamente il dato "woeid" dal file xml in questione (il cui contenuto è copiato qui sotto)?
Grazie
<?xml version="1.0" encoding="UTF-8"?>
<places xmlns="http://where.yahooapis.com/v1/schema.rng" xmlns:yahoo="http://www.yahooapis.com/v1/base.rng" yahoo:start="0" yahoo:count="1" yahoo:total="4"><place yahoo:uri="http://where.yahooapis.com/v1/place/718345" xml:lang="it-IT"><woeid>718345</woeid><placeTypeName code="7">Città</placeTypeName><name>Milano</name><country type="Paese" code="IT">Italia</country><admin1 type="Regione" code="">Lombardia</admin1><admin2 type="Provincia" code="IT-MI">Milano</admin2><admin3></admin3><locality1 type="Città">Milano</locality1><locality2></locality2><postal></postal><centroid><latitude>45.468941</latitude><longitude>9.181030</longitude></centroid><boundingBox><southWest><latitude>45.4073 60</latitude><longitude>9.076830</longitude></southWest><northEast><latitude>45.547058</latitude><longitude>9.276300</longitude></northEast></boundingBox><areaRank>5</areaRank><popRank>13</popRank></place></places>