Znajdowanie nierekurencyjnego podwęzła DOM w Pythonie przy użyciu BeautifulSoup

Czy w Pythonie można znaleźć nierekurencyjny podwęzeł DOMBeautifulSoup?

Na przykład. rozważyć analizę apom.xml plik:

<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>
    ...

Jeśli chcę się dostaćgroupId na najwyższym poziomie (konkretnieproject->groupId, nieproject->parent->groupId), Używam:

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

groupId = soup.groupid.text

Ale niestety znajduje to pierwsze fizyczne wystąpieniegroupId w pliku bez względu na poziom hierarchii, czyliproject->parent->groupId. Właściwie chcę wykonać nierekurencyjne wyszukiwanie TYLKO na określonym poziomie węzła, a nie w jego dzieciach. Czy istnieje sposób, aby to zrobićBeautifulSoup?

questionAnswers(1)

yourAnswerToTheQuestion