2014-07-17 6 views
1

Je lis un fichier XML en utilisant Perl, puis j'y apporte des modifications, je l'écris à nouveau dans un autre fichier XML.Lire et écrire du XML en utilisant perl

Mon XML d'entrée ressemble à:

  <A 
       value1="123"> 
       <B 
        V1="1" 
        V2="7" 
        V3="1"/> 
      </A> 

Mais la sortie que je reçois est sous la forme:

  <A value1="123"> 
       <B V1="1" V2="7" V3="1"/> 
      </A> 

J'utilise le code:

my $data_xml = $xml->XMLin(get($xml_url),KeepRoot => 1,ForceArray => 1); 
XMLout($data_xml,KeepRoot => 1,OutputFile => "Keep5.xml"); 

Comment puis-je obtenir la sortie dans le même format que la sortie?

+0

Le fichier original est-il formaté manuellement? – Matteo

+0

@Matteo Le fichier d'origine est lu à l'aide de perl et doit être réécrit sous un autre nom – Maximus

+2

Pourquoi voulez-vous? Question sérieuse. XML ne définit pas la mise en page comme faisant partie de la spécification. En ce qui le concerne, tout smooshed sur une ligne est exactement le même que joliment mis en page. Il définit les «feuilles de style», qui couvrent le formatage et la mise en page séparément. – Sobrique

Répondre

1

Je ne pense pas qu'il y ait un moyen facile de conserver la mise en forme d'origine, mais vous pouvez essayer de reformater la sortie avec des outils comme

+0

pouvez-vous expliquer comment les données sont lues et modifiées en utilisant l'un de ces modules – Maximus

Questions connexes