据我所知,XMLDocument类仅提供一种在下一个子级上删除子级的方法:removeChild(at:Int)。
但是我想基于XPath从XMLDocument(根)中删除一个子级。实际上,我并不关心如何删除该子项(带有或不带有XPath),但是对于XPath,我有一种感觉,我非常接近“简单”解决方案。问题是我找不到一种可以做我想做的方法:移除(非常)深树级别的子节点。我有事吗这是一些代码:
我的XML结构(我想删除ID == 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)