2016-02-11 1 views
0

Я попробовал этотЯ хочу, чтобы преобразовать все значения внутри Elementree в соответствующие строки значений

from xml.etree.ElementTree import Element, SubElement, tostring 
root = Element('root') 
child = SubElement(root, "child") 
child.text = 123 
print tostring(root) 

который бросает следующие ошибки

TypeError: cannot serialize 123 (type int) 

Я знаю, что ул() функция может быть использован здесь однако это невозможно в моем случае

Есть ли какие-либо другие библиотечные функции, которые я могу использовать?

+2

, возможно, расскажите немного о том, почему вы не можете использовать функцию str(). Возможно, у вас другая проблема .... – Pandrei

ответ

0

использовать функцию Обл(), чтобы преобразовать Int в строку
child.text = Str (123)

+0

Я уже упоминал, что я не могу использовать функцию str() в моем случае. Я ищу библиотеку для преобразования всех значений внутри Elementree в соответствующие значения строк – Bamaboy

+0

, почему бы вам просто не сделать child.text = '123' для начала? При анализе xml с ElementTree вы конвертируете xml в строковый формат; поэтому вы не можете использовать значения int. Библиотека ElementTree предполагает, что вы работаете со строковыми значениями .... – Pandrei

0

Если по какой-то причине вы, как вы говорите, не хотите использовать функцию Силы, вам может также сделать это со строкой форматирования:

child.text = "%d" % 123 

Более экзотические, вы можете использовать библиотеку JSON:

import json 

child.text = json.dumps(123) 

Но, позвольте мне подчеркнуть, str(123) - лучший выбор здесь, потому что это будет проще всего понять людям. Вы говорите, что это не вариант. Это потому, что вы назначили переменную str? В конечном итоге это не будет хорошей идеей.

+0

Я хочу преобразовать все значения внутри Elementree в соответствующие строковые значения. Быть утомительным для использования str() в моем случае – Bamaboy

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

  • Нет связанных вопросов^_^