Мне нужно вытащить все элементы NodeGroup из файла XML:
<Database>
<Get>
<Data>
<NodeGroups>
<NodeGroup>
<AssociateNode ConnID="6748763_2" />
<AssociateNode ConnID="6748763_1" />
<Data DataType="Capacity">2</Data>
<Name>Alpha</Name>
</NodeGroup>
<NodeGroup>
<AssociateNode ConnID="6748763_23" />
<AssociateNode ConnID="6748763_7" />
<Data DataType="Capacity">2</Data>
<Name>Charlie</Name>
</NodeGroup>
<NodeGroup>
<AssociateNode ConnID="6748763_98" />
<AssociateNode ConnID="6748763_12" />
<Data DataType="Capacity">2</Data>
<Name>Papa</Name>
</NodeGroup>
<NodeGroup>
<AssociateNode ConnID="6748763_8" />
<AssociateNode ConnID="6748763_45" />
<Data DataType="Capacity">2</Data>
<Name>Yankee</Name>
</NodeGroup>
</NodeGroups>
<System>
...
</System>
</Data>
</Get>
</Database>
Если бы я мог использовать python и BeautifulSoup, я бы проанализировал xml и вызвал что-то вроде:
node_group_array = soup.findAll("nodegroups")
Но я использую Perl и XML-модули Perl, поэтому я использовал XML :: Simple XMLIn, рекурсивно просматривая каждый ключ хеша, проверяя, было ли значение хешем, проверял, было ли это хеш NodeGroup и т. Д.
Я бы подумал, что в одном из XML-модулей Perl есть что-то вроде soup.findAll (), но я не могу его найти. Как мне сделать "soup.findAll ('nodegroups')" в Perl?