Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 23, 2007 20:50:12

Mixolap
От:
Зарегистрирован: 2007-05-15
Сообщения: 31
Репутация: +  0  -
Профиль   Отправить e-mail  

xml - изменение processing instructions

from xml.dom import minidom

doc = minidom.Document()
… код по созданию xml дерева



после вывода получившегося дерева функцией toprettyxml обнаружил, что по умолчанию формируется <?xml version=“1.0” ?>
а мне надо <?xml version=“1.0” encoding=“UTF-8” ?>
если создаю node через createProcessingInstruction, а потом appendChild - то первая инструкция остается, что пожалуй логично.
подскажите, как изменить первый <?xml ?> или убрать его?



Отредактировано (Окт. 23, 2007 20:50:42)

Офлайн

#2 Окт. 23, 2007 21:05:31

umup
От:
Зарегистрирован: 2007-07-14
Сообщения: 53
Репутация: +  0  -
Профиль   Отправить e-mail  

xml - изменение processing instructions

вроде в методе toprettyxml можно указать какую кодировку использовать :

toprettyxml(self, indent='\t', newl='\n', encoding=None)



Офлайн

#3 Окт. 24, 2007 01:41:59

pyuser
От:
Зарегистрирован: 2007-05-13
Сообщения: 658
Репутация: +  36  -
Профиль   Отправить e-mail  

xml - изменение processing instructions

Mixolap
from xml.dom import minidom

doc = minidom.Document()
… код по созданию xml дерева



после вывода получившегося дерева функцией toprettyxml обнаружил, что по умолчанию формируется <?xml version=“1.0” ?>
а мне надо <?xml version=“1.0” encoding=“UTF-8” ?>
если создаю node через createProcessingInstruction, а потом appendChild - то первая инструкция остается, что пожалуй логично.
подскажите, как изменить первый <?xml ?> или убрать его?
можно так:

xml_str = doc.toxml(“UTF-8”)


а можно сразу в файл писать:

fp = file(“test.xml”, “wb”)
doс.writexml(fp, addindent=“ ”, newl=“\n”, encoding=“UTF-8”)
fp.close()



Офлайн

#4 Окт. 24, 2007 16:57:24

Mixolap
От:
Зарегистрирован: 2007-05-15
Сообщения: 31
Репутация: +  0  -
Профиль   Отправить e-mail  

xml - изменение processing instructions

Спасибо, воспользовался:
print doc.toprettyxml(encoding=“UTF-8”)



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version