Хотелось бы вывести следующее во главе xml
Я могу найти много при разборе и проверке, но не так много при создании / выводе
Я могу найти некоторую документацию на QName, но как вывести
`
<?xml version="1.0" encoding="UTF-8" standalone="no" ?> <gdml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://service-spi.web.cern.ch/service-spi/app /releases/GDML/schema/gdml.xsd">`
Используйте QName для создания атрибута (noNamespaceSchemaLocation), который связан с пространством имен http://www.w3.org/2001/XMLSchema-instance.
QName
noNamespaceSchemaLocation
http://www.w3.org/2001/XMLSchema-instance
from lxml.etree import QName, Element, tostring qname = QName("http://www.w3.org/2001/XMLSchema-instance", "noNamespaceSchemaLocation") attr_dict = {qname: "http://service-spi.web.cern.ch/service-spi/app /releases/GDML/schema/gdml.xsd"} gdml = Element("gdml", attr_dict) print(tostring(gdml, encoding="UTF-8", standalone=False).decode())
Вывод:
<?xml version='1.0' encoding='UTF-8' standalone='no'?> <gdml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://service-spi.web.cern.ch/service-spi/app /releases/GDML/schema/gdml.xsd"/>
Объявление пространства имен (xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance") создается автоматически.
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
Спасибо - я уже сделал это по-другому
NS = 'http://www.w3.org/2001/XMLSchema-instance' location_attribute = '{%s}noNameSpaceSchemaLocation' % NS gdml = ET.Element('gdml',attrib={location_attribute: 'http://service-spi.web.cern.ch/service-spi/app/releases/GDML/schema/gdml.xsd'}) print(gdml.tag)