用python解析xml文件 AtlcomoduleGetClassObject AtlcomoduleRegisterServer ATLComoduleUnregisterServer AtlUpdateRegistryFromResourceD 亚特兰蒂斯 亚特兰蒂斯号 AtlInternalQueryInterface 地图集版本 atlmoduleddtermfunc AtlCreateRegistrator AtlCallTermFunc

用python解析xml文件 AtlcomoduleGetClassObject AtlcomoduleRegisterServer ATLComoduleUnregisterServer AtlUpdateRegistryFromResourceD 亚特兰蒂斯 亚特兰蒂斯号 AtlInternalQueryInterface 地图集版本 atlmoduleddtermfunc AtlCreateRegistrator AtlCallTermFunc,python,xml,Python,Xml,嘿,伙计们,我想解析一个xml文件,迭代它的内容并提取: [1] 库名 [2] 如果bl=1,则提取fct标签文本 我应该如何解析xml并提取这些信息 谢谢 下面是一个例子 <lib name="atl80.dll" bl="0"> <fcts> <fct od="15" bl="0">AtlComModuleGetClassObject</fct> <fct od="18" bl="1">AtlComModuleR

嘿,伙计们,我想解析一个xml文件,迭代它的内容并提取: [1] 库名 [2] 如果bl=1,则提取fct标签文本

我应该如何解析xml并提取这些信息

谢谢

下面是一个例子

<lib name="atl80.dll" bl="0">
  <fcts>
    <fct od="15" bl="0">AtlComModuleGetClassObject</fct>
    <fct od="18" bl="1">AtlComModuleRegisterServer</fct>
    <fct od="22" bl="1">AtlComModuleUnregisterServer</fct>
    <fct od="23" bl="1">AtlUpdateRegistryFromResourceD</fct>
    <fct od="30" bl="0">AtlComPtrAssign</fct>
    <fct od="31" bl="0">AtlComQIPtrAssign</fct>
    <fct od="32" bl="0">AtlInternalQueryInterface</fct>
    <fct od="34" bl="0">AtlGetVersion</fct>
    <fct od="58" bl="0">AtlModuleAddTermFunc</fct>
    <fct od="61" bl="1">AtlCreateRegistrar</fct>
    <fct od="64" bl="0">AtlCallTermFunc</fct>
html=”“”
AtlcomoduleGetClassObject
AtlcomoduleRegisterServer
ATLComoduleUnregisterServer
AtlUpdateRegistryFromResourceD
亚特兰蒂斯
亚特兰蒂斯号
AtlInternalQueryInterface
地图集版本
atlmoduleddtermfunc
AtlCreateRegistrator
AtlCallTermFunc
"""
从bs4导入美化组作为b
soup=b(html,'html.parser')
fct=汤。全部查找(bl=“1”)
#获取父名称
父项\u name=fct[0]。父项。父项['name']
#获取所有fct标记文本
fct=[i.text代表fct中的i]
打印(父项名称)
打印(fct)

显示您首先尝试过但无法完成的操作。使用python模块lxml或BS4您可以使用模块xmltodict
html = """<lib name="atl80.dll" bl="0">
  <fcts>
    <fct od="15" bl="0">AtlComModuleGetClassObject</fct>
    <fct od="18" bl="1">AtlComModuleRegisterServer</fct>
    <fct od="22" bl="1">AtlComModuleUnregisterServer</fct>
    <fct od="23" bl="1">AtlUpdateRegistryFromResourceD</fct>
    <fct od="30" bl="0">AtlComPtrAssign</fct>
    <fct od="31" bl="0">AtlComQIPtrAssign</fct>
    <fct od="32" bl="0">AtlInternalQueryInterface</fct>
    <fct od="34" bl="0">AtlGetVersion</fct>
    <fct od="58" bl="0">AtlModuleAddTermFunc</fct>
    <fct od="61" bl="1">AtlCreateRegistrar</fct>
    <fct od="64" bl="0">AtlCallTermFunc</fct>

"""


from bs4 import BeautifulSoup as b

soup = b(html, 'html.parser')
fct = soup.find_all(bl="1")
#get parent name
parent_name = fct[0].parent.parent['name']
# get all fct tag text
fct = [i.text for i in fct]

print(parent_name)
print(fct)