Bonjour,

J'ai un petit souci car je ne trouve pas la solution.

J'ai un fichier XML de teste qui ressemble à ça :

Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
<?xml version="1.0" encoding="ISO-8859-1"?>
<paragraph>
		Ce tutoriel Perl a pour but de vous expliquer en quelques lignes comment concevoir un plugin <b>Nagios</b> respectant les 
		normes <b>Nagios</b> avec <b>Perl</b>.<br/>			 
</paragraph>

Je souhaiterais le convertir en fichier OpenOffice odt et le contenu du fichier devrait être formaté et donné le résultat suivant :
Ce tutoriel Perl a pour but de vous expliquer en quelques lignes comment concevoir un plugin Nagios respectant les normes Nagios avec Perl
Mon but est d'utiliser le module XML:Twig et ODF::lpOD, mais je coince pour le formatage du texte en gras. Si quelqu'un a une idée, je suis preneur .

Voici un exemple de programme, mais je ne sais pas comment appliquer le gras.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/usr/bin/perl
use warnings;
use strict;
use ODF::lpOD;
use XML::Twig;
 
# Création virtuelle du fichier odt
my $doc      = ODF::lpOD::Document->create('text');
my $contexte = $doc->get_body;
 
my $twig = new XML::Twig(
  Twig_handlers => {
    'paragraph' => \&xml_paragraph,
    'b'         => \&xml_style,
  },
);
 
# Création d'un objet twig
$twig->parsefile('test.xml');
 
# Sauvegarde du document
$doc->save( target => 'test.odt' );
system ('test.odt');
 
 
sub xml_paragraph {
  my ( $twig, $twig_paragraph ) = @_;
 
  my $paragraphe = odf_paragraph->create( text => $twig_paragraph->text, );
  $contexte->insert_element($paragraphe);
  return;
}
 
sub xml_style {
  my ( $twig, $twig_style ) = @_;
 
  my $style = $twig_style->name;
  my $texte = $twig_style->text;
 
  return;
}