Initial commit
This commit is contained in:
51
source/08-text-files/xml/xmldecode.py
Normal file
51
source/08-text-files/xml/xmldecode.py
Normal file
@ -0,0 +1,51 @@
|
||||
from typing import List
|
||||
|
||||
from lxml import etree
|
||||
|
||||
if __name__ == "__main__":
|
||||
# Balise principale
|
||||
base = etree.Element("FastDMU", {"version": "2.0"})
|
||||
# Balise Search system
|
||||
root = etree.Element("SearchSystem")
|
||||
# Deux champs pour Search System
|
||||
root_title = etree.Element("Title")
|
||||
root_mode = etree.Element("Mode")
|
||||
root_title.text = "01"
|
||||
root_mode.text = "AssembliesOnly"
|
||||
root.append(root_title)
|
||||
root.append(root_mode)
|
||||
|
||||
# Liste des items à ajouter
|
||||
items: List[str] = ["A", "B", "C"]
|
||||
for item in items:
|
||||
# Création des éléments
|
||||
search_item = etree.Element("SearchItem")
|
||||
item_mode = etree.Element("Mode")
|
||||
item_type = etree.Element("Type")
|
||||
item_value = etree.Element("Value")
|
||||
item_field = etree.Element("Field")
|
||||
item_field_name = etree.Element("FieldName")
|
||||
item_title = etree.Element("Title")
|
||||
# Définition du texte
|
||||
item_mode.text = "Add"
|
||||
item_type.text = "Wildcard"
|
||||
item_value.text = item
|
||||
item_field.text = "PARTNUMBER"
|
||||
item_field_name.text = "PARTNUMBER"
|
||||
item_title.text = "Partnumber"
|
||||
# Ajout des éléments au parent
|
||||
search_item.append(item_mode)
|
||||
search_item.append(item_type)
|
||||
search_item.append(item_value)
|
||||
search_item.append(item_field)
|
||||
search_item.append(item_field_name)
|
||||
search_item.append(item_title)
|
||||
# Ajout du searchitem à la balise SearchSystem
|
||||
root.append(search_item)
|
||||
# Ajout de la balise SearchSystem à la balise FastDMU
|
||||
base.append(root)
|
||||
# J'aurais peut-être préféré faire ça avec BeautifulSoup4
|
||||
# Ou peut-être gagner du temps en convertissant du texte directement
|
||||
# en éléments XML.
|
||||
print(etree.tostring(base, pretty_print=True, xml_declaration=True, encoding="iso8859-1",
|
||||
doctype="<!DOCTYPE FastDMU>"))
|
Reference in New Issue
Block a user