Найти - Пользователи
Полная версия: Помощь по XML
Начало » Python для новичков » Помощь по XML
1 2 3
widg
xml в котором всё слито
widg
фаил с известными дублями
f7a1b5d3-b91a-11e1-8a88-00155d11dc00
5e354034-b919-11e1-8a88-00155d11dc00
py.user.next
widg
xml в котором всё слито
Должно быть два неслитый файла - это входящие файлы.
И один выходящий - это файл, который получается по этим двум.

Один входящий файл ты прикрепил, дальше какую фигню прикрепляешь, она не нужна эта фигня. Потому что ты неправильно делаешь и пытаешься эту свою неправильную фигню пропихнуть тут, чтобы тебе её доделывали.

widg
фаил с известными дублями
Этот файл не нужен. Его даже делать не надо.
widg
Из-за срочности дела, я уже всё в ручную перелопатил, но в будущем этот скрипт нужен будет.
Я оцениваю свои силы, знаю что я не смогу написать как надо, в мои силы только поправить скрипт под свои нужды, обычно гуглю, нахожу похожее, правлю и что то получается, но ничего накопать в этот раз не смог. если бы я где-то ещё смог попросить помощи, я готов недорого заплатить. Знаю что тут помогут!

Реальные файлы скинуть не могу т.к. это персональные данные.

Как правильно в XML по убирать дубли?
py.user.next
Короче, я тебе составлю эти два файла (из первого файла), только потом не говори, что скрипт неправильно работает.

widg
Реальные файлы скинуть не могу т.к. это персональные данные.
Так реальные и не надо. Надо два примерных и точный результат, который должен из них получиться. Тогда можно скрипт написать и проверить, правильно ли он работает. А так придётся догадки строить. Опыт показывает, что когда задание полностью не известно, то и программы, которые пишутся по такому заданию, тоже неправильно работают (делают не то, что нужно). В итоге время и силы тратятся, а программы как не было, так и нет.

widg
Как правильно в XML по убирать дубли?
Это тоже элементарно делается.
Там это не надо делать (сливать файлы), потому что некоторые элементы будут потеряны.
Удаление элементов, которые есть в другом файле, и удаление дубликатов элементов в одном файле - это разные задачи.

Я так понял, что у тебя есть два файла, и нужно в первом удалить только то, что есть и во втором (сравнивая один атрибут), а с дубликатами вообще не заморачиваться нигде.
widg
Да правильно нужно в первом удалить только то, что есть и во втором сравнивая один атрибут
py.user.next
Вот файлы и скрипт.
widg
не то, нужно удалить из файла родителя зная его атрибут
проверить в массиве, сравнить, если он есть то удалить
py.user.next
Так а чем не устраивает получившийся файл?
widg
вот что мне помогло

from xml.dom import minidom
b = [line.rstrip('\n') for line in open('list.txt')]
doc = minidom.parse("HM810225T81_1511244.XML")
for element in doc.getElementsByTagName('PERS'):
    if element.getAttribute('ID_PAC') in b:
        element.parentNode.removeChild(element)
f = open('HM810225T81_1511244+.XML', "w")
f.write(doc.toxml())
f.close()
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB