Thông tin

Tác giả Quentin Cappart
Hạn chót Không có hạn chót
Giới hạn nộp bài Không có giới hạn

Đăng nhập

Manipulation de fichiers XML

Oh non (bis)! C'est maintenant les factures personnelles du professeur qui ont maintenant fuité. :-( Elles sont disponibles ici. Vous remarquez que les factures sont en format XML, avec les éléments suivants pour chaque facture:

  • un numéro de facture ;
  • un statut : payee, en_attente ou en_retard ;
  • une date ;
  • une date d’échéance ;
  • un vendeur ;
  • un client ;
  • plusieurs lignes de facture ;
  • un taux de TVA.

Regardez également par vous même le fichier pour d'autres éventuelles informations (p.ex., la devise utilisée). Il vous est demandé d'implémenter des fonctions en python pour obtenir les informations demandées. Pour cela, vous ne pouvez utiliser que la librairie xml.etree.ElementTree. Comme toujours, travaillez d'abord en local sur votre ordinateur. Référez vous à la documentation officielle pour comprendre le fonctionnement de la librairie (https://docs.python.org/3/library/xml.etree.elementtree.html).

Vous pouvez supposer que la librairie import xml.etree.ElementTree as ET est bien importée de notre côté quand vous soumettez une réponse. Finalement, le code a fournir est généralement assez court (parfois une seule ligne) avec une bonne manipulation des fonctions disponibles.


Câu hỏi 1: Lecture d'un fichier

Complétez la fonction suivante.

Câu hỏi 2: Extraction d'informations

Complétez la fonction suivante.

Câu hỏi 3: Manipulation simple

Complétez la fonction suivante.

Câu hỏi 4: Manipulation simple

Complétez la fonction suivante.

Câu hỏi 5: Manipulation plus avancée

Complétez la fonction suivante.

Câu hỏi 6: Ecriture de fichier

Complétez la fonction suivante. Le résultat doit avoir la forme suivante.

<resume>
    <facture numero="FAC-2026-0001" statut="en_retard">
        <client>Université de Namur</client>
        <total_ht>3457.5</total_ht>
        <total_ttc>4183.57</total_ttc>
    </facture>
    <facture numero="FAC-2026-0002" statut="en_attente">
        <client>DataSchool ASBL</client>
        <total_ht>1987.5</total_ht>
        <total_ttc>2404.88</total_ttc>
    </facture>
    ...
</resume>

System Message: WARNING/2 (<string>, line 18)

Explicit markup ends without a blank line; unexpected unindent.

note : la version python inginious etant trop ancienne, ET.indent(arbre, space, level) n'est pas disponible. Pour votre soumission remplacez par indent(root,level).