dir.by  
  Поиск  
Программирование, разработка, тестирование
Python
Python пример: "Открываем XML файл и читаем секции и сохранем в txt файл"
  Посмотрели 2435 раз(а)    
 Python пример: "Открываем XML файл и читаем секции и сохранем в txt файл" 
последнее обновление: 8 февраля 2021
Создадим файлы:
  Файл my.py
import xml.etree.ElementTree as ET
import sys, errno
import os

resultFile = "result.txt"

xml = ET.parse('file1.xml')

root = xml.getroot()

try:
    # clear result file
    with open(resultFile, "w") as f:
        f.write("----- begining file ----- \n")

        # dictionary to check duplicate items
        duplicatesDict = {}
        
        for child in root:
        
            # is duplicate item
            workItemId = child.attrib['WorkItemId']
            workItemRev = child.attrib['WorkItemRev']
            uniq_key = workItemId + "-" + workItemRev
            if uniq_key in duplicatesDict:
                f.write("\n duplicate item with id=" + workItemId)
            duplicatesDict[uniq_key] = ' '
            
            # write text in file
            f.write("--" + str(child.attrib))
        
            if child.find("TTTSql") is not None:
                f.write(child.find('TTTSql').text)
        
            f.write("\n")
            f.flush()
    
except Exception as e:
    print(e)
    sys.exit(errno.EACCES)
  Файл my.sh
python my.py
# Below is the error catching mechanism
ret=$?
if [ $ret -ne 0 ]; then
    echo "Error in XML to sql conversion"
$SHELL
exit 1
  Файл file1.xml
<SchemaChanges>
     <SchemaChange WorkItemId="1000" WorkItemRev="a" Description="Mike">
          <TTTSql>
               <![CDATA[
                    select * from book
               ]]>
          </TTTSql>
     </SchemaChange>

     <SchemaChange WorkItemId="1001" WorkItemRev="a" Description="Rafaello">
          <TTTSql>
               <![CDATA[
                    select * from house
               ]]>
          </TTTSql>
     </SchemaChange>
</SchemaChanges>
В командной строке запустим файл 1.sh
  Command Prompt (Win Console)  
1.sh
В результате увидим что из файла file1.xml
  создался файл result.txt
----- begining file -----
--{'WorkItemId': '1000', 'WorkItemRev': 'a', 'Description': 'Mike'}
              
                    select * from book
              
         
--{'WorkItemId': '1001', 'WorkItemRev': 'a', 'Description': 'Rafaello'}
              
                    select * from house
              
 
← Предыдущая тема
Как в Python проверить есть ли атрибут у объекта ?
 
Следующая тема →
Python пример: "Скачиваем задачи из Redmine"
 
Ваши Отзывы ... комментарии ...
   
Вашe имя
Ваш комментарий (www ссылки может добавлять только залогиненный пользователь)

  Объявления  
  Объявления  
 
Скачиваем и устанавливаем Python для Windows
Новое приложение
Вариант 1. Создаем новое приложение в текстовом редакторе и запускаем в командной строке
Создаем новое приложение Python в текстовом редакторе и запускаем в командной строке
Вариант 2 (для меня лучший). Создаем новое приложение в Visual Studio Code
Создаем новое приложение с Python в Visual Studio Code. Отладка приложения. Смотрим в отладке как по шагам выполняется Python
Python синтаксис, функции, классы
Как в Python проверить есть ли атрибут у объекта ?
Примеры
Python пример: "Открываем XML файл и читаем секции и сохранем в txt файл"
Python пример: "Скачиваем задачи из Redmine"
Python пример: "HTTP server"
Сайты для изучения Python
Сайты для изучения Python

  Ваши вопросы присылайте по почте: info@dir.by  
Яндекс.Метрика