如何使用minidom(python)访问XML声明

时间:2015-07-21 12:06:02

标签: python xml minidom

在python中,使用minidom,是否可以读取/修改XML声明?

我有一个以

开头的xml文件
<?xml version="1.0" encoding='UTF-8' standalone='yes' ?>

我希望例如把它改成

<?xml-stylesheet href='form.xslt' type='text/xsl' ?>

1 个答案:

答案 0 :(得分:1)

您可以在一个XML中同时拥有<?xml ?><?xml-stylesheet ?>(它们称为处理说明,顺便说一句)。要添加一个,只需创建一个ProcessingInstruction对象的实例并将其附加到根元素之前,例如:

from xml.dom import minidom

source = """<?xml version="1.0" ?>
<root/>"""
doc = minidom.parseString(source)
pi = doc.createProcessingInstruction('xml-stylesheet', 'type="text/xsl" href="form.xslt"')
doc.insertBefore(pi, doc.firstChild)
print(doc.toprettyxml())

输出

<?xml version="1.0" ?>
<?xml-stylesheet type="text/xsl" href="form.xslt"?>
<root/>