2015-07-21 4 views
0

В python, с мини-министром, можно ли прочитать/изменить объявление XML?Как получить доступ к объявлению XML с помощью minidom (python)

У меня есть файл XML, который начинается с

<?xml version="1.0" encoding='UTF-8' standalone='yes' ?> 

и я хотел бы, например, изменить его

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

ответ

1

Вы можете иметь оба <?xml ?> и <?xml-stylesheet ?> (они известны как инструкции по обработке, кстати) в одном XML. Чтобы добавить один, просто создать экземпляр 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/>