52 lines
1.9 KiB
Python
52 lines
1.9 KiB
Python
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>"))
|