Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    SimpleXML come formattare l'output?

    Salve,
    sto iniziando a "smanettare" un po' con SimpleXML e sto avendo grandi soddisfazioni!
    Mi sorge però un problema...
    Come faccio a creare file XML leggibili da un umano?
    O più semplicemente, c'è qualche modo per "dirgli" di usare i \n e magari anche i tab per formattare l'output?

    Se non fosse possibile... dovrei per forza crearmi uno script-formatter? Ne esistono già fatti?

    Spero di non toccare un argomento già trattato ma non ho trovato discussioni simili con il search...

    - lorenzo -

  2. #2
    qui .

    Usa le dom functions sono molto + potenti e seguono lo standard
    DOM Level 2


    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  3. #3
    mmm... Sto guardando quelle funzioni ma non mi funzionano neanche gli esempi...
    codice:
    <?PHP
    	$doc = new DOMDocument('1.0');
    	// we want a nice output
    	$doc->formatOutput = true;
    	
    	$root = $doc->createElement('book');
    	$root = $doc->appendChild($root);
    	
    	$title = $doc->createElement('title');
    	$title = $root->appendChild($title);
    	
    	$text = $doc->createTextNode('This is the title');
    	$text = $title->appendChild($text);
    	
    	echo "Saving all the document:\n";
    	echo $doc->saveXML() . "\n";
    	
    	echo "Saving only the title part:\n";
    	echo $doc->saveXML($title);
    ?>
    output:
    codice:
    Saving all the document:  Saving only the title part:
    [EDIT]: Ho controllato meglio... Il codice xml viene scritto nella pagina ma Firefox non lo visualizza... è normale?

    In ogni caso.. come si tradurrebbe questo?
    codice:
    <?PHP
    	$xmlSource = simplexml_load_file('_items.xml');
    	
    	$xmlDest = simplexml_load_file('empty.xml');
    	
    	foreach($xmlSource->item as $oggetto){
    		$item = $xmlDest->AddChild($oggetto['id'],'');
    		$item->AddChild('nome',$oggetto->nome);
    		$item->AddChild('dannomin',$oggetto->danni->min);
    		$item->AddChild('dannomax',$oggetto->danni->max);
    		$item->AddChild('piedistallo',$oggetto->piedistallo);
    		$prezzo = $item->AddChild('prezzo',$oggetto->prezzo);
    		$prezzo->AddAttribute('moneta',$oggetto->prezzo['moneta']);
    		foreach($oggetto->mod as $m){
    			$item->AddChild($m['id'],$m);
    		}
    		foreach($oggetto->premessa as $m){
    			$item->AddChild($m['id'],$m);
    		}
    		$item->AddChild('img',$oggetto->img);
    		$xmlDest->asXML('risultato.xml');
    	}
    ?>

  4. #4
    Come faccio ad ottenere il valore di un elemento creato con createElement(<nome>,<valore>) di un DomDocument?

    Esempio:
    codice:
    $doc = new DomDocument();
    $elem = $doc->createElement("elem","valore");
    $elem = $doc->appendChild($elem);
    Come faccio ad ottenere "valore" da $elem???

  5. #5
    Codice PHP:
    $doc = new DomDocument('1.0','UTF-8');
    $elem $doc->createElement("elem","valore");
    $elem $doc->appendChild($elem);
    echo 
    $elem->nodeValue

    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  6. #6
    ma in che parte della guida di PHP è scritto?
    E' tutto oggi pm che lo cerco!!!

    E come si fa a prendere un "figlio" di un nodo conoscendone il nome?

    esempio:
    codice:
    ...
    <danno>
    <min>1</min>
    <max>3</max>
    </danno>
    ...
    Se io in $danno ho il nodo "danno" come prendo min e max?

  7. #7
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.