Поиск нерекурсивного подузла DOM в Python с использованием BeautifulSoup
Есть ли способ найти нерекурсивный подузел DOM в Python, используяBeautifulSoup
?
Например. рассмотреть разборpom.xml
файл:
<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>
...
Если я хочу получитьgroupId
на высшем уровне (конкретноproject->groupId
неproject->parent->groupId
), Я использую:
with open(pom) as pomHandle:
soup = BeautifulSoup(pomHandle)
groupId = soup.groupid.text
Но, к сожалению, это находит первое физическое проявлениеgroupId
в файле независимо от уровня иерархии, который являетсяproject->parent->groupId
, Я на самом деле хочу сделать рекурсивный поиск ТОЛЬКО на определенном уровне узла, а не в его дочерних элементах. Есть ли способ сделать это вBeautifulSoup
?