История изменений
Исправление CrX, (текущая версия) :
Можно на питоне накидать быстренько
import xml.etree.ElementTree as ET
tree = ET.parse('/путь/к/файлу.xml')
root = tree.getroot()
for i in root.iter('person'):
person = i.attrib
person['address'] = [x.attrib for x in i.iter('address')][0]
print(person)
На каждой итерации получаешь словарик вот такой:
{'uid': '727475820', 'first-name': '', 'last-name': '', 'nick-name': '', 'cn': 'Zhbert', 'address': {'uid': '678377311', 'alias': '', 'email': 'zhbert@gmail.com', 'remarks': ''}}
Ну и соответственно, вместо print просто нужные элементы в нужном порядке запятой соединяешь и пишешь в файл — в таком csv-формате, как тебе надо.
Исходная версия CrX, :
Можно на питоне накидать быстренько
import xml.etree.ElementTree as ET
tree = ET.parse('/путь/к/файлу.xml')
for i in root.iter('person'):
person = i.attrib
person['address'] = [x.attrib for x in i.iter('address')][0]
print(person)
На каждой итерации получаешь словарик вот такой:
{'uid': '727475820', 'first-name': '', 'last-name': '', 'nick-name': '', 'cn': 'Zhbert', 'address': {'uid': '678377311', 'alias': '', 'email': 'zhbert@gmail.com', 'remarks': ''}}
Ну и соответственно, вместо print просто нужные элементы в нужном порядке запятой соединяешь и пишешь в файл — в таком csv-формате, как тебе надо.