如何检查Python中是否存在特定的孩子

时间:2015-05-25 04:31:49

标签: python xml

我必须检查一个元素是否有特定的孩子。 我试过hasattr()并且它无法正常工作

Ex:我有一个xml,其中frame是一个元素。我有一个很大的没有。元素框架'信号和信号组是儿童,两者都是可选的。我想检查特定帧是否有子信号组。

请告诉我如何检查。

更新:

我不知道哪个库,但我使用Symtavision软件来解析xml并运行python脚本。

我附上了我正在使用的代码: 框架有chilren'信号和信号组'。特定框架可以同时具有子项或其中之一。我想检查一个框架是否有孩子'信号组'或不。

frames = system.getElements('Frame')

Signalgroups = system.getElements('Signalgroup')

for frame in frames:

     if(hasattr (frame.Signalgroup) == True):
          #some task
     else:
          #some task

1 个答案:

答案 0 :(得分:0)

试试这个:

frames = system.getElements("Frame")

for frame in frames:    
    if(len(frame.getChildren("SignalGroup")) > 0):
        print "Got some SignalGroup"
    else:
        print "No SignalGroup"

信号组是帧的子节点。 顺便说一句:您可以使用element.getParents(...)导航到父母。 我建议你更改问题的标题,因为它不是纯粹的python问题,而是更多的Symtavision(SymTA / S)API问题。干杯克里斯