【发布时间】:2021-04-21 13:11:02
【问题描述】:
我的 XML 有类似这样的嵌套结构:
<xml>
<top>
<main_record attr1="val1" attr2 = "val2" attr3="val3">
<sub_record attrx="valx" attry="valy" />
</main_record>
<main_record attr1="val4" attr2 = "val5" attr3="val6">
<sub_record attrx="valx2" attry="valy2" />
</main_record>
<main_record attr1="val7" attr2 = "val8" attr3="val9">
<sub_record attrx="valx3" attry="valy3" />
</main_record>
</top>
</xml>
我正在尝试使用漂亮的汤来提取每个“main_record”及其“sub_record”属性的数据,以便我可以在 CSV 文件中的行中使用它。
我可以得到一个循环来打印文件中的所有 attr1、attr2 和 attr3 值,但是当我尝试在里面添加一个子循环来获取 attrx 和 attry 时,它不能正常工作。
from bs4 import BeautifulSoup
f = open("C:\\tracker.log", "r")
x = f.read()
soup = BeautifulSoup(x, 'html.parser')
for entity in soup.find_all('main_record'):
print(entity.get('attr1'))
print(entity.get('attr2'))
print(entity.get('attr3'))
for positions in soup.find('sub_record'):
print(positions.get('attrx'))
print(positions.get('attry'))
任何帮助/指针表示赞赏。
【问题讨论】:
标签: python beautifulsoup