You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用BeautifulSoup获取XML中指定house_id对应同级appliances标签内容

BeautifulSoup 解析XML获取同父节点字段方案

首先请确保已安装依赖库,未安装可执行以下命令:
pip install beautifulsoup4 lxml

核心实现逻辑

  1. 定位到值匹配的house_id标签节点
  2. 查找该节点所属的place父节点
  3. 从place节点下提取appliances标签的文本内容即可

完整代码示例

from bs4 import BeautifulSoup

# 这里替换为你的XML内容
xml_content = """
<properties>
    <place>
        <house_id>12345</house_id>
        <appliances>Fridge, Oven</appliances>
        <price>350000</price>
    </place>
    <place>
        <house_id>6789</house_id>
        <appliances>Heater, Microwave, Fridge</appliances>
        <price>870000</price>
    </place>
</properties>
"""

# 初始化soup,指定XML解析器
soup = BeautifulSoup(xml_content, 'xml')

# 定义目标house_id
target_house_id = "12345"

# 查找匹配的house_id节点
matched_id_node = soup.find('house_id', string=target_house_id)

if matched_id_node:
    # 查找所属place父节点,再提取appliances文本
    appliances_text = matched_id_node.find_parent('place').find('appliances').get_text(strip=True)
    print(appliances_text)
else:
    print(f"未找到house_id为{target_house_id}的对应记录")

运行上述代码,输出结果为:Fridge, Oven,和预期一致。

内容的提问来源于stack exchange,提问作者user3611

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 04:06:01