Высокотехнологичный ответ:
Сохраните этот скрипт Python как xmlcombine.py:
.
#!/usr/bin/env python
import sys
from xml.etree import ElementTree
def run(files):
first = None
for filename in files:
data = ElementTree.parse(filename).getroot()
if first is None:
first = data
else:
first.extend(data)
if first is not None:
print ElementTree.tostring(first)
if __name__ == "__main__":
run(sys.argv[1:])
Чтобы объединить файлы, запустите:
python xmlcombine.py ?.xml > combined.xml
Для дальнейшего улучшения рассмотрите использование:
chmod +x xmlcombine.py
:
Позволяет опустить python
в командной строке
xmlcombine.py !(combined).xml > combined.xml
:
Собирает все XML-файлы, кроме выходных, но требует опции bash extglob
xmlcombine.py *.xml | sponge combined.xml
:
Собирает все также в combined.xml
, но требует программу sponge
import lxml.etree as ElementTree
:
Использует потенциально более быстрый анализатор XML