0
我正在使用Jupyter笔记本(在Python 2.7上的IPython)。Jupyter笔记本输出单元格语法突出
我想动态显示一些XML内容,如:
print dom.toprettyxml(indent=' ')
但它格式化为输出单元格明文。
我想用语法突出显示它。可能吗?
我遇到过使用Markdown,Latex和其他几个IPython.display,但没有XML。 (HTML也在那里,但它没有帮助我)。
问候, 罗伯特
更新: 感谢反馈,我能够做任务用下面的代码:
from pygments import highlight
from pygments.lexers import XmlLexer
from pygments.formatters import HtmlFormatter
import IPython
def display_xml_nice(xml_element):
formatter = HtmlFormatter()
xml_indented = xml_element.toprettyxml(indent=' ')
IPython.display.display(HTML('<style type="text/css">{}</style>{}'.format(
formatter.get_style_defs('.highlight'),
highlight(xml_indented, XmlLexer(), formatter))))
您可以使用[Pygments来做](http://pygments.org /)库来突出显示它。从pygments获取HTML输出,然后使用'IPython.display.HTML()'将其显示为HTML。 –