У меня есть два XML-кода, которые выглядят ниже. Как объединить 2 из них с помощью сценариев, чтобы принимать значение от new.xml & retainging несуществующего значения атрибута формы base.xmlСлияние двух XML с сохраняющим значением атрибута из base-xml
base.xml
:
<element name="ind"
dbs="name1, name2, name4"
server="ServerName"
good-attribute="234"/>
Моего new.xml выглядит следующим образом:
<element name="ind"
description="My desc"
dbId="someId"
moreAttr="someVal"
dbs="name1, name2, name4, name12, name3"
server="ServerName" />
Я хотел бы принять последнюю dbs
значение от new.xml
до merge.xml
и с сохранением good-attribute
значения присутствует только в base.xml
:
merge.xml
:
<element name="ind"
description="My desc"
dbId="someId"
moreAttr="someVal"
dbs="name1, name2, name4, name12, name3"
server="ServerName"
good-attribute="234" />
С пастой только paste
fieldwise и vimdiff
показывает дифференциал, но не позволяет выбрать. Любая поддержка inbuild есть или нужна ли она для замены с помощью sed + awk?
Вы не сможете сделать это с помощью скрипта. Или вы можете, но это будет смехотворно сложно. Вам понадобится полный скриптовый язык и синтаксический анализатор XML. Я голосую, чтобы перенести это на [так]. – terdon
Какова структура документов xml? Существуют ли другие элементы в дополнение к ' '? Как вы сопоставляете элементы из base.xml и new.xml? По их заказу? (то есть 1-й элемент из base.xml соответствует 1-му элементу из new.xml и т. д.) –
jfs
Да, есть еще элементы, а также тип . Отображение должно происходить на основе имени элемента, например, «ind» здесь, например, в приведенном выше примере. –
user1587504