Visualizzazione dei risultati da 1 a 2 su 2

Discussione: convert file into XML

  1. #1

    convert file into XML

    ciao a tutti
    premetto che sono nuovo al linguaggio perl, ma non alla programmazione.

    Vi do una visione generale di quello che ho e quello che so cercando di fare.

    Ho due server che comunicano l'uno con l'atro soltanto attraverso la porta 80. Nel primo server ho l'attuale sito in php, mentre nel secondo ho perl installato con il file al quale sono interessato.
    Praticamente ho creato uno script perl che prende un'argomento tramite GET (l'argopmento sarebbe il nome della cartella dove si trova il file che voglio), apre il file che si chiama "config" (dove al suo interno c'e' del testo formattato), e ne restituisce il contenuto.

    Siccome questo file di testo e' formattato in un certo modo, ossia:
    =====================
    #nome
    nome alex

    #email
    email abcde@miaemail.it

    #data di nascita
    dob

    #indirizzo
    address via monte del monte
    =====================

    Sto cercando di create un file XML da questo file di testo, in modo che posso processarlo e formattarlo tramite php.
    Al momento sono riuscito a leggere il file e restituirne il contenuto, ma non e' formattato e di conseguenza non so come poterlo filtrare in base alle varie sezioni.


    Qui sotto vi incollo il codice perl che ho scritto.
    (premetto che sono all'inizio, quindi sicuramente troverete dei bug oppure delle cose che voi scrivereste in modo migliore..spero che possiate darmi qualche consiglio senza giudizi oppure battute fuori luogo).

    codice:
    #!/usr/bin/perl
    use CGI;
    
    print "Content-type: text/html\n\n";
    
    # Set the the path where the site is stored in the filesystem
    my $siteDir = "/usr/site";
    
    # Check whether the path exists
    unless (-d $siteDir) {
      print "[ERROR]: The path of the site cannot be found.";
      exit;
    }
    
    
    # Reads the site name from a query string
    my $siteName = $ENV{'QUERY_STRING'};
    
    my $confFile = "$siteName/config";
    open (FILE,$siteDir."/".$confFile) ||  die "File not found.";
    
    while ($line = <FILE>) {
      print $line;
    }
    
    close(FILE);

    Potreste darmi qualche consiglio a riguardo ?

    grazie in anticipo.
    Nulla è impossibile. Il difficile è trovare la soluzione che renda l'impossibile possibile...
    http://www.eternaldream.it

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    268
    Codice PHP:
    #!/usr/bin/perl

    open (XML,">nome_file.xml"); #file xml da creare
    print XML qq{<?xml version="1.0" encoding="utf-8"?>\n\n}; #testata XML
    open (FIL,"nome_file_da_trasformare.txt"); #file da leggere
    while (<FIL>)
    {
        chop $_; #tolgo il vai a capo
        if ($tag ne "") #ho già letto la prima riga
        {
            @mom=split(/ /,$_); #tolgo la prima parola
            shift @mom;
            print XML qq{<$tag>@mom</$tag>\n}; #inserisco il valore e chiudo il tag
            $tag="";
        }
        if ($_ =~ /#/) #identifico il tag
        {
            $_ =~ s/#//;
            $tag="$_";
            $tag =~ s/ /_/g; #sostituisco gli spazi con "_"
        }

    }
    close (FIL);
    close (XML);

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 © 2024 vBulletin Solutions, Inc. All rights reserved.