Насколько я знаю, класс XMLDocument предоставляет только метод для удаления дочернего элемента на следующем дочернем уровне: removeChild (at: Int).
Но я хочу удалить дочерний элемент из XMLDocument (корень) на основе XPath. На самом деле мне все равно, как удалить ребенка (с или без XPath), но с XPath у меня возникло ощущение, что я очень близок к «простому» решению. Проблема в том, что я не могу найти метод, который делает то, что я хотел бы сделать: удалить дочерний узел на (очень) глубоком уровне дерева. Я что-то упустил? Вот некоторый код:
Моя XML-структура (я хочу удалить, например, тег ресурса с идентификатором == 2):
<Root>
<fcpx>
<resources>
<asset id=„1“></asset>
<asset id=„2“></asset>
<asset id=„3“></asset>
</resources>
</fcpx>
</Root>
Абстрактная версия моего XMLDocument:
let buffer = XMLDocument(contentsOf: selectedFile)
let childToRemove = buffer.child(at: 0)?.child(at: 0)?.child(at: self.selectedChildId)