Как я могу избежать двоеточий в имени атрибута с ElementTree Python?

Задний план

Я использую ElementTree в Python версии 2.6 для создания XML-файла (используя данные, полученные из базы данных).

Код

Следующая строка кода – это проблемная область, так как я продолжаю получать синтаксическую ошибку из-за двоеточий в именах моих атрибутов.

# Please ignore any errors the "^" characters would cause if they were # actually part of my code - just using them as placeholders. root = ET.Element("databaseConfiguration", xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance", ^ xsi:noNamespaceSchemaLocation="database.xsd") ^ 

Вопрос

Каков наиболее эффективный способ избежать двоеточия в этих именах атрибутов, чтобы иметь root эквивалент следующего:

<databaseConfiguration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="database.xsd"/>

Заметки

Я рассмотрел несколько решений по переполнению стека (например, solution1 , solution2 , solution3 и solution4 ), где пользователи анализировали XML-файл, но я не могу интерпретировать эти исправления как те, которые будут работать для записи в XML.

Заранее спасибо!

2 Solutions collect form web for “Как я могу избежать двоеточий в имени атрибута с ElementTree Python?”

возможно, будет работать для вас. Читайте по ссылке

 >>> root = ET.Element("databaseConfiguration", {"xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance", "xsi:noNamespaceSchemaLocation":"database.xsd"}) >>> 

Просто используйте словарь

 root = ET.Element("databaseConfiguration", **{'xmlns:xsi':"http://www.w3.org/2001/XMLSchema-instance", 'xsi:noNamespaceSchemaLocation':"database.xsd"}) 
  • Как я могу удалить пространства имен из дерева lxml?
  • Разбор большого (~ 40 ГБ) текстового XML-файла в python
  • Как разбирать XML-файл с объявлением кодировки в Python?
  • Найти элементы на основе xsd-типа с помощью lxml
  • Как обновить XML-файл с помощью lxml
  • dateTime жалуется на whiteSpace в проверке XSD (lxml)
  • Найти элемент с атрибутом с минидомом
  • Разбор файла с несколькими xmls в нем
  • Python - лучший язык программирования в мире.