使用此代码
<BrowseNodes>
<BrowseNode>
<BrowseNodeId>3404981</BrowseNodeId>
<Name>Tires</Name>
<Ancestors>
<BrowseNode>
<BrowseNodeId>6388965011</BrowseNodeId>
<Name>Tires & Tubes</Name>
<Ancestors>
<BrowseNode>
<BrowseNodeId>3403201</BrowseNodeId>
<Name>Cycling</Name>
<Ancestors>
<BrowseNode>
<BrowseNodeId>3375301</BrowseNodeId>
<Name>Categories</Name>
<IsCategoryRoot>1</IsCategoryRoot>
<Ancestors>
<BrowseNode>
<BrowseNodeId>3375251</BrowseNodeId>
<Name>Sports & Outdoors</Name>
</BrowseNode>
</Ancestors>
</BrowseNode>
</Ancestors>
</BrowseNode>
</Ancestors>
</BrowseNode>
</Ancestors>
</BrowseNode>
</BrowseNodes>
我试着用靓汤来获得最里面的节点。在这里是“运动和户外运动”。因为我不知道一个BrowseNode可以分为多少层,如果假设最内部的层是我需要的根,那么如何获得最内部的层呢?在
谢谢
如果您可以相信每个
BrowseNode
都有一个BrowseNode
子代或没有,这很简单:(你可以说得更简洁些,但我想让逻辑尽可能地清晰明了。)
如果一个},使用},然后执行
BrowseNode
可能有2个或多个BrowseNode
子代,并且必须找到最深的一个,则必须修改它以执行深度优先搜索。这并不难;您只需使deepest
返回(level, node)
而不是{find_all
代替{max(deepest(descendant, tag) for descendant in descendants)
。在如果您真的需要在文档中的任何地方得到嵌套最深的一个,您可以查看所有这些嵌套,然后计算父级。对于非大型文档,性能应该是可以的。注意:这不处理两个这样的元素,它们的深度与同级元素相同或位于不同的位置。在
相关问题 更多 >
编程相关推荐