Visualizzazione dei risultati da 1 a 5 su 5

Discussione: modificare file xml

  1. #1

    modificare file xml

    Salve ragazzi. Devo modificare un file xml con php. Ho un file xml di questo tipo:
    codice:
    <?xml version="1.0" encoding="UTF-8"?>
    <ricettario>
    <carne id="Pettodipolloallimone">
    <display-name lang="it">Petto di pollo al limone</display-name>
    </carne>
    <carne id="Tacchinoripieno">
    <display-name lang="it">Tacchino ripieno</display-name>
    </carne>
    <carne id="Rosbiffallatte">
    <display-name lang="it">Rosbiff al latte</display-name>
    </carne>
    <ricetta attach="Pettodipolloallimone">
    <title lang="it">Ricetta: Petto di pollo al limone</title>
    <sub-title lang="it">Preparazione</sub-title>
    <desc lang="it">Preparo il petto di pollo. .. .. . .. . </desc>
    </ricetta>
    <ricetta attach="Tacchinoripieno">
    <title lang="it">Ricetta: Tacchino ripieno</title>
    <sub-title lang="it">Preparazione</sub-title>
    <desc lang="it">Preparo il Tacchino ripieno. .. .. . .. . </desc>
    </ricetta>
    <ricetta attach="Rosbiffallatte">
    <title lang="it">Ricetta: Rosbiff al latte</title>
    <sub-title lang="it">Preparazione</sub-title>
    <desc lang="it">Preparo il Rosbiff al latte. .. .. . .. . </desc>
    </ricetta>
    </ricettario>
    Adesso, ho la necessità di cancellare tutto ciò che viene prima del tag "<ricetta" e sostituirlo con un altro file xml (dovrei aggiungere del cosice quindi). Considerando che il file che devo modificare è grande circa 30MB, come posso fare?


    Ho provato
    Codice PHP:
    $xml file_get_contents('./ricette/ricettario.xml'FILE_USE_INCLUDE_PATH);

    $xmlrand file_get_contents('./ricette/random.xml'FILE_USE_INCLUDE_PATH);

    $new preg_replace('/^(.*?)<ricetta/'$xmlrand$xml);

    fwrite(fopen('new.xml''wb'), $new); 

    Solo che non mi funziona, mi restituisce il file originario (ricettario.xml) senza alcuna modifica. Perchè??
    Il DOMDocument non mi sembra la soluzione adatta per questo problema.

  2. #2
    Nessuno sa darmi una mano?

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Prova
    Codice PHP:
    $x '<ricetta attach';
    $e explode($x,file_get_contents('ricette/ricettario.xml'),2);
    $e[0] = file_get_contents('ricette/random.xml').PHP_EOL.$x;
    file_put_contents('new.xml',implode($e)); 

  4. #4
    Quote Originariamente inviata da RoTeam Visualizza il messaggio
    Prova
    Codice PHP:
    $x '<ricetta attach';
    $e explode($x,file_get_contents('ricette/ricettario.xml'),2);
    $e[0] = file_get_contents('ricette/random.xml').PHP_EOL.$x;
    file_put_contents('new.xml',implode($e)); 
    Ti ringrazio ma funziona solo in parte. Nel file new.xml viene attaccata alla parte random solo la stringa "<ricetta attach" e dopo più nulla. Insomma viene inserita solo la variabile x

  5. #5
    Risolto grazie!!!

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.