Suchen eines nicht rekursiven DOM-Unterknotens in Python mithilfe von BeautifulSoup

Gibt es eine Möglichkeit, einen nicht rekursiven DOM-Unterknoten in Python mit zu finden?BeautifulSoup?

Z.B. Überlegen Sie, ob Sie apom.xml Datei:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

    <parent>
        <groupId>com.parent</groupId>
        <artifactId>parent</artifactId>
        <version>1.0-SNAPSHOT</version>
        <relativePath>../pom.xml</relativePath>
    </parent>

    <modelVersion>2.0.0</modelVersion>
    <groupId>com.parent.somemodule</groupId>
    <artifactId>some_module</artifactId>
    <packaging>jar</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>Some Module</name>
    ...

Wenn ich bekommen willgroupId auf der obersten Ebene (speziellproject->groupIdnichtproject->parent->groupId), Ich benutze:

with open(pom) as pomHandle:
    soup = BeautifulSoup(pomHandle)

groupId = soup.groupid.text

Das findet aber leider das erste physikalische Vorkommen vongroupId in der Datei unabhängig von der Hierarchieebene, die istproject->parent->groupId. Ich möchte eigentlich NUR eine nicht rekursive Suche auf einer bestimmten Knotenebene durchführen, nicht innerhalb der untergeordneten Knoten. Gibt es eine Möglichkeit, dies zu tun?BeautifulSoup?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage