要在BeautifulSoup中查询XML中的命名空间,可以使用以下代码示例:
from bs4 import BeautifulSoup
# 创建XML文档
xml = '''
Value 1
Value 2
'''
# 解析XML文档
soup = BeautifulSoup(xml, 'xml')
# 定义命名空间映射
namespaces = {
'ns1': "http://example.com/ns1",
'ns2': "http://example.com/ns2"
}
# 查询带命名空间的元素
element1 = soup.find('ns1:element1', namespaces=namespaces)
element2 = soup.find('ns2:element2', namespaces=namespaces)
# 打印结果
print(element1.text) # 输出: Value 1
print(element2.text) # 输出: Value 2
以上代码首先创建了一个XML文档,然后使用BeautifulSoup将其解析为一个BeautifulSoup对象。接下来,我们定义了一个命名空间映射,以便在查询时使用。使用find
方法和namespaces
参数,我们可以通过命名空间和元素名称来查询具有命名空间的元素。
在上面的示例中,我们使用namespaces
参数查询了带有命名空间的元素,并打印了它们的文本内容。