Swift XMLDocument удалить дочерний с XPath - PullRequest
0 голосов
/ 15 мая 2019

Насколько я знаю, класс 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)
...