у меня есть XML, как:Как переместить XML элементы в соответствии с условиями
<?xml version="1.0" encoding="UTF-8"?>
<COLLECTION>
<AddedBOMs NAME="AddedBOMs" TYPE="Unknown" STATUS="0">
<BOMHeader>
<Number>One</Number>
<StartEffectivity>One 00:00:00</StartEffectivity>
<EndEffectivity>One 00:00:00</EndEffectivity>
</BOMHeader>
</AddedBOMs>
<ChangedBOMs NAME="ChangedBOMs" TYPE="Unknown" STATUS="0">
<BOMHeader>
<Number>Two</Number>
<StartEffectivity>Two 00:00:00</StartEffectivity>
<EndEffectivity>Two 00:00:00</EndEffectivity>
</BOMHeader>
</ChangedBOMs>
<UnchangedBOMs NAME="UnchangedBOMs" TYPE="Unknown" STATUS="0">
<BOMHeader>
<Number>Three</Number>
<StartEffectivity>Three 00:00:00</StartEffectivity>
<EndEffectivity>Three 00:00:00</EndEffectivity>
</BOMHeader>
</UnchangedBOMs>
<DeletedBOMComponents NAME="DeletedBOMComponents" TYPE="Unknown" STATUS="0">
<BOMComponent>
<PartNumber>Three</PartNumber>
</BOMComponent>
</DeletedBOMComponents>
<AddedBOMComponents NAME="AddedBOMComponents" TYPE="Unknown" STATUS="0">
<BOMComponent>
<PartNumber>Two</PartNumber>
</BOMComponent>
</AddedBOMComponents>
<ChangedBOMComponents NAME="ChangedBOMComponents" TYPE="Unknown" STATUS="0">
<BOMComponent>
<PartNumber>One</PartNumber>
</BOMComponent>
</ChangedBOMComponents>
</COLLECTION>
Я хочу, чтобы переместить StartEffectivity и EndEffectivity от AddedBOMs/BOMHeader, но она должна быть связана с ../../BOMComponent/PartNumber т. Е. Какой номер детали от BOMComponent соответствует количеству BOMHeader соответствует Соответствие StartEffectivity и EndEffectivity, скопированное внутри BOMComponent
ожидаемый выход:
<DeletedBOMComponents NAME="DeletedBOMComponents" TYPE="Unknown" STATUS="0">
<BOMComponent>
<PartNumber>Three</PartNumber>
<StartEffectivity>Three 00:00:00</StartEffectivity>
<EndEffectivity>Three 00:00:00</EndEffectivity>
</BOMComponent>
</DeletedBOMComponents>
<AddedBOMComponents NAME="AddedBOMComponents" TYPE="Unknown" STATUS="0">
<BOMComponent>
<PartNumber>Two</PartNumber>
<StartEffectivity>Two 00:00:00</StartEffectivity>
<EndEffectivity>Two 00:00:00</EndEffectivity>
</BOMComponent>
</AddedBOMComponents>
<ChangedBOMComponents NAME="ChangedBOMComponents" TYPE="Unknown" STATUS="0">
<BOMComponent>
<PartNumber>One</PartNumber>
<StartEffectivity>One 00:00:00</StartEffectivity>
<EndEffectivity>One 00:00:00</EndEffectivity>
</BOMComponent>
</ChangedBOMComponents>
Спасибо большое он работал для меня. Но остальная часть XML должна быть одинаковой. он не должен падать. –
Еще одна вещь, которую мне нужно спросить, возможно ли это? в случае DeletedBOMComponents/BOMComponent. Функция StartEffectivity должна быть нулевой, а EndEffectivity будет содержать значение StartEffectivity от BOMHeader. –
@eddie. Если вы хотите сохранить элементы «header», просто удалите второй шаблон. - WRT к дополнительному требованию, я ответил на это в другом вопросе. –