Это, кажется, не является частью dom
XML-декларация не получает своего собственного узла, нет, но свойства, объявленные в ней, видны наDocument
объект:
>>> doc= minidom.parseString('<?xml version="1.0" encoding="utf-8" standalone="yes"?><a/>')
>>> doc.encoding
'utf-8'
>>> doc.standalone
True
Сериализация документа должна включать часть объявления standalone="yes"
, а toxml()
- нет.Возможно, вы могли бы считать это ошибкой, но на самом деле метод toxml()
не дает никаких обещаний сериализовать декларацию XML соответствующим образом.(например, вы не получите encoding
, если только вы не попросите об этом)* действительно нужна здесь декларация XML?Вы используете версию и кодировку по умолчанию, и, поскольку у вас нет DOCTYPE, не может быть никаких внешне определенных объектов, поэтому документ уже является автономным по своей природе.Согласно стандарту XML : «если нет внешних объявлений разметки, объявление отдельного документа не имеет смысла».Мне кажется, вы могли бы полностью опустить его.