Содержание
- 2. Вид XML файла
- 3. Основные модули для парсинга from xml.dom import minidom from xml.etree import ElementTree #import xml.etree.ElementTree as ET
- 4. Работа с файлом XML_FILE='sample3.xml' tree = ET.ElementTree(file=XML_FILE) tree=ET.parse('sample3.xml') file01=open('books.xml','r') tree=ElementTree.parse(file01) xmldoc=minidom.parse('books.xml')
- 5. Парсинг XML файла from xml.dom import minidom xmldoc=minidom.parse('books.xml') a_list=xmldoc.getElementsByTagName('person') print(len(a_list)) print(a_list[0].attributes['name'].value) for i in a_list: print(i.attributes['name'].value)
- 6. Распарсить строку from xml.dom import minidom f = minidom.parseString(''' ''') Использование xml.dom
- 7. a = f.getElementsByTagName('Book') #взятие элементов по тегу name=[] author=[] pers=[] for i in a: name.append(i.getAttribute('name')) #добавление
- 8. Просмотр корня дерева from xml.etree import ElementTree file01=open('books.xml','r') tree=ElementTree.parse(file01) print(tree) root=tree.getroot() print(root) print(root.tag) print(root.attrib) print(root.text) ElementTree
- 9. Просмотр тегов и атрибутов for i in root: print(i.tag, i.attrib) print(root[0][0].text) for i in root: for
- 10. Просмотр тегов корня from xml.etree import ElementTree file01=open('books.xml','r') tree=ElementTree.parse(file01) #tree=ElementTree.ElementTree(file='books.xml') root=tree.getroot() print(root) print(root.tag) print(root.attrib) print(root.text) for
- 11. Проход по свойствам корня root=tree.getroot() for i in root: print(i.tag, i.attrib)
- 12. Просмотр, используя keys и items for i in root: print(i.tag,i.keys(),i.items())
- 13. keys и items с итератором по root for i in root.iter(): print(i.tag, i.keys(),i.items(),i.text)
- 14. Использование итератора для просмотра сведений for i in root.iter('book'): print(i.tag, i.keys(),i.items(),i.text)
- 15. Использование итератора поиска for i in root.iterfind('.'): print(i.tag)
- 16. for i in root.iterfind('.//'): print(i.tag)
- 17. for i in root.iterfind('./book//'): print(i.tag)
- 18. Использование итератора для просмотра сведений for i in tree.iter('person'): print(i.attrib)
- 19. Одиночны поиск и поиск всех информации for i in root.findall('book'): bookpages=i.find('pages').text bookpersons=i.findall('person') name=i.get('name') print(name) print(bookpages) print(bookpersons)
- 20. Запись #iter ищет среди потомков number for i in root.iter('number'): new_number=int(i.text)+1 i.text=str(new_number) i.set('updated','2017') tree.write('books2.xml')
- 21. Поиск и удаление for i in root.findall('book'): pages=int(i.find('pages').text) print(pages) if pages >100: root.remove(i)
- 22. Проход по дереву и обновление значений book=ElementTree.Element('book') number=ElementTree.SubElement(book,'number') year=ElementTree.SubElement(book,'year').set('year','2017') pages=ElementTree.SubElement(book,'pages').set('pages','100') number.set('pages','50') ElementTree.dump(book)
- 23. book=ElementTree.Element('book') number=ElementTree.SubElement(book,'number') year=ElementTree.SubElement(book,'year').set('year','2017') pages=ElementTree.SubElement(book,'pages').set('pages','100') number.set('pages','50') root.append(book)
- 25. Скачать презентацию