Ubuntu Suomen keskustelualueet

Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: kamara - 28.10.16 - klo:19.22

Otsikko: XML-tiedosto lukukelpoiseksi.
Kirjoitti: kamara - 28.10.16 - klo:19.22
Lyhyt php-scripti, kun en ole löytänyt kyseistä tarpeellista ohjelmaa pakettien hallinnasta...

Tiedosto: xml2readable.php
Koodia: [Valitse]
<?php
$s
="";
if(isset(
$argv[1])) $s=$argv[1];
if(
strlen($s)>0) {
    
$tab=-1;
    
$tabbi=0;
    
$f=fopen($s,'r');
    
$xml=fread($f,filesize($s));
    
fclose($f);
    if(isset(
$argv[2])) $s=$argv[2];
    else 
$s='/dev/stdout';
    
$f=fopen($s,'w');
    while (
strpos($xml,'>')!==FALSE) {
        
$tabbi=0;
        
$i=strpos($xml,'>');
        
$endtag=strpos($xml,'</');        
        
$startendtag=strpos($xml,'/>');
        if((
$endtag!==FALSE)&&($endtag<$i)) {
            
$tab--;
            
$tabbi=2;
        } 
        for(
$j=0;$j<$tab;$j++) {
            
fwrite($f"    ");
        }
        if(
$tabbi==0)
            if((
$startendtag===FALSE)||($startendtag>$i)) {
                
$tab++;
            }
        
fwrite($f,trim(substr($xml,0,strpos($xml,'>')+1)));
        
$xml=substr($xml,strpos($xml,'>')+1);
        
fwrite($f,"\n");
    }
    
fclose($f);
} else print 
"Käyttö: php xml2readable.php xmlfilename.xml [readable.xml]\n";
?>


Onko vastaavaa ohjelmaa pakettienhallinnassa ?

Lisenssi: Public Domain
Otsikko: Vs: XML-tiedosto lukukelpoiseksi.
Kirjoitti: nm - 28.10.16 - klo:19.47
Onko vastaavaa ohjelmaa pakettienhallinnassa ?

On useitakin vaihtoehtoja:
http://stackoverflow.com/questions/16090869/how-to-pretty-print-xml-from-the-command-line/16090892#16090892

libxml2-utils -paketin xmllint-ohjelmaa olen itse yleensä käyttänyt tuohon:

Koodia: [Valitse]
xmllint --format tiedosto.xml
Otsikko: Vs: XML-tiedosto lukukelpoiseksi.
Kirjoitti: kamara - 28.10.16 - klo:19.59
libxml2-utils -paketin xmllint-ohjelmaa olen itse yleensä käyttänyt tuohon:

Koodia: [Valitse]
xmllint --format tiedosto.xml

Jaahas kysymällä olisi siitäkin selvinnyt nopeammin. No eihän ton tekemiseenkään kauaa kestänyt, joten ei haittaa.

Kiitoksia kuitenkin...