xml строковый литерал, записанный в файл, неверно отформатирован

Я не рекомендую использовать классы, отличные от API, поскольку они могут измениться в любой будущей версии и могут нарушить ваш код.

Как вы узнали об этом классе? Это библиотека с открытым исходным кодом?

Попытайтесь связаться с авторами библиотеки, рассказать им ваш прецедент и найти способ с ними предложить публичный API. Если это библиотека с открытым исходным кодом, вы можете помочь им, предоставив патч.

0
задан snakecharmerb 20 February 2019 в 19:35
поделиться

1 ответ

Значение phrase представляет собой одностроковую строку из нескольких строк в кавычках с несколькими строками . Поскольку это одна строка, пробел в начале каждой строки и символы новой строки в конце каждой строки являются частью строки, и именно это вызывает проблемы форматирования, которые вы видите.

Самое простое решение - воспользоваться тем фактом, что Python будет автоматически объединять последовательные строки. Оберните значение phrase в скобки и вставьте в каждую кавычку одну строку.

phrase = ("""<d:entry xmlns:d="http://www.apple.com/DTDs/DictionaryService-1.0.rng" id="test" d:title="test">
          """<d:index d:value="test" d:title="test"/><d:index d:value="test2" d:title="test2"/>"""
          """<div class="ODECN"><div class="extras"><div class="phrase"><span class="word_title"><i>test</i></span>:
          """</d:entry>""")

Это исключит начальные пробелы и символы новой строки из сгенерированного XML-файла.

0
ответ дан snakecharmerb 20 February 2019 в 19:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: