Как отформатировать структуру XML для всех файлов в путиPython

Программы на Python
Ответить Пред. темаСлед. тема
Гость
 Как отформатировать структуру XML для всех файлов в пути

Сообщение Гость »


Я хотел бы преобразовать этот XML:

? ? ? ? ? ? ? кому:

? ? ? ? ? ? По сути удалите первые 8 строк и последние 2 строки. Удалите все прокомментированные узлы и добавьте атрибуты xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" и xmlns:bsvc="urn:com.workday /bsvc" в первый узел/корневой узел.

Я попробовал этот код, но столкнулся с проблемами с префиксом.
импортировать ОС импортировать xml.etree.ElementTree как ET # Укажите путь к каталогу, в котором расположены ваши XML-файлы путь_каталога = '/Пользователи/Путь_к файлу/' # Определите сопоставления пространств имен пространства имен = { 'soapenv': 'http://schemas.xmlsoap.org/soap/envelope/', 'bsvc': 'urn:com.workday/bsvc' } # Перебираем XML-файлы в каталоге и обрабатываем их для имени файла в os.listdir(directory_path): если имя_файла.endswith('.xml'): # Создаём полный путь к файлу путь_файла = os.path.join(путь_каталога, имя файла) # Читаем содержимое XML из файла с open(file_path, 'r') как файлом: xml_lines = file.readlines() # Удаляем первые 8 строк и последние 2 строки модифицированные_линии = xml_lines[8:-2] # Объединяем измененные строки обратно в строку модифицированный_xml = ''.join(modified_lines) # Создайте новый корневой элемент с объявлениями пространства имен root = ET.Element('{http://schemas.xmlsoap.org/soap/envelope/}Конверт', nsmap=namespaces) # Разбираем измененное содержимое XML и добавляем его в новый корень модифицированный_корень = ET.fromstring(modified_xml) root.extend(modified_root) # Удалить все прокомментированные узлы для элемента в root.iter(): для ребенка в элементе: если child.tag == ET.Comment: элем.удалить(дочерний) # Конвертируем измененный XML обратно в строку модифицированный_xml = ET.tostring(корень, кодировка='utf8').decode() # Перезаписать исходный файл измененным содержимым с open(file_path, 'w') как файлом: file.write(modified_xml) print(f"Обработано и перезаписано: {file_path}")
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ, комментарий, отзыв

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как заблокировать конечные точки по условию. AntMatchers не распознает переменные пути
    Гость » » в форуме JAVA
    0 Ответы
    0 Просмотры
    Последнее сообщение Гость
  • Как удалить код тестирования из файлов js при сборке с использованием vite
    Гость » » в форуме Javascript
    0 Ответы
    1 Просмотры
    Последнее сообщение Гость
  • Конфигурация htaccess для обслуживания статических и динамических файлов
    Гость » » в форуме Php
    0 Ответы
    0 Просмотры
    Последнее сообщение Гость
  • Мне нужно проверить наличие файлов cookie при перезагрузке в Nextjs
    Гость » » в форуме Javascript
    0 Ответы
    1 Просмотры
    Последнее сообщение Гость
  • Ошибка присвоения нескольких файлов C++: ссылка на «данные» неоднозначна
    Гость » » в форуме C++
    0 Ответы
    0 Просмотры
    Последнее сообщение Гость

Вернуться в «Python»