Ora vorrei, sempre usando DOM, estrarre da $dom il valore del nodo nome.Codice PHP:
$dom=new DOMDocument();
$xml="<?xml version="1.0"?><nodo><nome>Mario</nome><cognome>Rossi</cognome></nodo>";
$dom->loadXML($xml);
Come si fa?
Ora vorrei, sempre usando DOM, estrarre da $dom il valore del nodo nome.Codice PHP:
$dom=new DOMDocument();
$xml="<?xml version="1.0"?><nodo><nome>Mario</nome><cognome>Rossi</cognome></nodo>";
$dom->loadXML($xml);
Come si fa?
cerca, cerca..anche questo esempio potrebbe risolvere ilt uo problema..
http://forum.it.altervista.org/php-m...-connessi.html
"Quando il potere dell'amore supererà l'amore per il potere il mondo conoscerà la pace" Jimmy Hendrix
[ Richiesta: http://www.unibologna.eu/ ] --> [Risposta: http://www.magazine.unibo.it/Magazin...al_Portale.htm Morale] -->[ http://www.anti-phishing.it/news/art...s.13062007.php ]
consoliwebsite.altervista.org
Se io avessi un solo nodo user servirebbe comunque il foreach?Codice PHP:
$dom = new DOMdocument();
$dom->load($filename);
$root = $dom->documentElement;
$elements = $root->getElementsByTagName('user');
$trovato = 0;
foreach ($elements as $ln)
{
// Estrazione nodo tag <address>
$value_address = $ln->getElementsByTagName('address');
$value_address = $value_address->item(0)->nodeValue;
// Estrazione nodo tag <timestamp>
$value_timestamp = $ln->getElementsByTagName('timestamp');
$value_timestamp = $value_timestamp->item(0)->nodeValue;
if ($IP == $value_address && $value_timestamp != $limit)
$trovato = 1;
}
Ovvio.
Credo funzioni, con simplexml faccio così io.Codice PHP:
$dom = new DOMdocument();
$dom->load($filename);
$root = $dom->documentElement;
$elements = $root->getElementsByTagName('user');
$trovato = 0;
$ln = $elements[0];
// Estrazione nodo tag <address>
$value_address = $ln->getElementsByTagName('address');
$value_address = $value_address->item(0)->nodeValue;
// Estrazione nodo tag <timestamp>
$value_timestamp = $ln->getElementsByTagName('timestamp');
$value_timestamp = $value_timestamp->item(0)->nodeValue;
if ($IP == $value_address && $value_timestamp != $limit)
$trovato = 1;
Saluti!
e se l'elemento user non esistesse?
Prova a fare così altrimenti invece di usare else controlli se $trovato è true.Codice PHP:
$dom = new DOMdocument();
$dom->load($filename);
$root = $dom->documentElement;
$trovato = 0;
if ($elements = $root->getElementsByTagName('user')) {
$ln = $elements[0];
// Estrazione nodo tag <address>
$value_address = $ln->getElementsByTagName('address');
$value_address = $value_address->item(0)->nodeValue;
// Estrazione nodo tag <timestamp>
$value_timestamp = $ln->getElementsByTagName('timestamp');
$value_timestamp = $value_timestamp->item(0)->nodeValue;
if ($IP == $value_address && $value_timestamp != $limit)
$trovato = 1;
} else {
echo "elemento user non esiste!";
}
Saluti!
Il mio xml è:
Non mi è chiaro come ottengo il valore ciao dopo aver inizializzato $dom.Codice:<?xml version="1.0" ?> <a> <b>ciao</b> </a>
Per ottenere il valore di b fai così:
oppure se b è uno solo, così:Codice PHP:
<?php
$dom = new DOMDocument();
$xml = '<?xml version="1.0"?><a><b>ciao</b></a>';
$dom->loadXML($xml);
$node_b_list = $dom->getElementsByTagName("b");
foreach($node_b_list as $node_b){
echo $node_b->nodeValue;
}
?>
Codice PHP:
<?php
$dom = new DOMDocument();
$xml = '<?xml version="1.0"?><a><b>ciao</b></a>';
$dom->loadXML($xml);
$node_b_list = $dom->getElementsByTagName("b");
echo $node_b_list->item(0)->nodeValue;
?>
Ultima modifica di andreafallico : 21-11-2009 alle ore 19.10.02
Grazie mille a tutti!