2015-12-24 3 views
-1

Я создавал XML-файл с использованием python, который я достиг с помощью модуля etree.Создание XML в python

Проблема в том, что я должен жестко кодировать каждую информацию, например, мне нужно указать имя тега и его значение в коде. Я хочу, чтобы иметь возможность просто предоставить тег и значение, и соответствующий xml генерируется сам.

Любые предложения?

+0

Попробуйте прочитать XSLT, это может помочь вам создать пользовательский xml на лету. –

+0

Попробуйте использовать любой движок шаблонов, например, jinja2 или что-нибудь в этом роде. –

+4

Покажите нам свой код. Что вы пробовали? Где именно вы застряли? –

ответ

1

Создание вашего XML с жестко закодированными (так статичными) узлами и значениями довольно просто. Как вы сказали, вы должны использовать модель xml.etree и вручную создать XML. Я предлагаю вам простой пример.

from xml.etree.ElementTree import Element, SubElement, Comment 

from xml.etree import ElementTree 
from xml.dom import minidom 

def prettify(elem): 
    """Return a pretty-printed XML string for the Element. 
    """ 
    rough_string = ElementTree.tostring(elem, 'utf-8') 
    reparsed  = minidom.parseString(rough_string) 
    return reparsed.toprettyxml(indent=" ") 

#declaring tags 
first_level_element = Element('top') 
child_element  = SubElement(first_level_element, 'second') 

#adding content to tags 
child_element.text = "This is my static tag content!" 

print prettify(first_level_element) 
+0

HI. Спасибо за ввод. Но я уже это сделал. – StarLord

+0

Хорошо. Поэтому я не понял тебя. Не могли бы вы опубликовать что-то, чтобы прояснить вопрос? –

+0

Я не хочу жестко закодированные или статические узлы. Я хочу, чтобы они были как переменные. – StarLord

Смежные вопросы