我有一棵节点树,坦率地说是一团糟。
|-...
|-cat
\-dog
|- dog *
| |- chicken
| | \- cat !
| \- cat !
| \- cat !
| \- dog
| |- cat
| \- ...
|- cat
|- dog
| \- cat
\- ...
鉴于我选择了带星号的“狗”节点,我如何只选择那些它是最近的“狗”祖先的猫(即那些有感叹号的猫)
等效地,我怎样才能只获得节点的那些猫后代,而无需遍历另一个狗节点?
我在 lxml 中工作,目前有一个糟糕的解决方案,涉及通过drop_tree()
-ing 所有狗节点来断开图形。