关于python:如何在屏幕上缩进显示xml?

how to display xml on the screen indented?

本问题已经有最佳答案,请猛点这里访问。

我有一个XML字符串:

1
string = '<catalog><category>iPhone</category><category>iPad</category><category>iPod</category><category>iMac</category><category>MacBook</category><category>Mac Mini</category><category>Чехлы</category><category>Защитные   пленки</category><category>Акксессуары</category><category>Наушники и гарнитуры</category><category>Переходники и Провода</category><category>Автомобильные аксессуары</category><category>Aккустические системы</category><category>Зарядные устройства</category><category>Видео очки</category><category>Wi-Fi оборудование</category><category>Аккумуляторы и блоки питания</category><category>BlackBerry</category><category>Подставки и док-станции</category><category>Игрушки</category><category>Цифровые ручки</category><category>Полезные устройства</category><category>Планшетные компьютеры</category><category>Samsung</category><category>GoPro</category><category>Память</category></catalog>'

请告诉我如何在屏幕上显示这个XML缩排反映嵌套。


使用pretty_print=True

1
2
3
4
5
In [95]: from lxml import etree

In [97]: rt=etree.fromstring(string)

In [98]: print etree.tostring(rt, pretty_print=True)

您必须使用xml模块

1
2
3
4
5
import xml.dom.minidom

xml_obj = xml.dom.minidom.parseString(string)
xml_indent_string = xml.toprettyxml()
print xml_indent_string