我使用BeautifulSoup find_all()获取所有xmlo标签。BeautifulSoup find_all()不返回XML
但是,当我尝试迭代方法返回,它的一个字符串!我想要所有的“GarantidorFielDepositario”(我得到这与find_all())标签,我想读取所有儿童标签(如“TipoGarantidorFielDepositario”,“PrincipalGarantidor”等)的值。在第一时刻标签
(...)
<fun:QtdMoeda>1</fun:QtdMoeda>
<!--Optional:-->
<fun:Observacao>teste</fun:Observacao>
<!--Optional:-->
<fun:GarantidorFielDepositario>
<!--Zero or more repetitions:-->
<fun:GarantidorFielDepositario>
<fun:TipoGarantidorFielDepositario>G</fun:TipoGarantidorFielDepositario>
<!--Optional:-->
<fun:CPFCNPJGarantidorFielDepositario>003.570.739-91</fun:CPFCNPJGarantidorFielDepositario>
<!--Optional:-->
<fun:PrincipalGarantidor>N</fun:PrincipalGarantidor>
</fun:GarantidorFielDepositario>
</fun:GarantidorFielDepositario>
</fun:GarantiaSaida>
后的标签,我只是想打印的子标签,但是当我尝试,它不显示任何东西,我认为它是因为find_all()返回一个字符串,而不是XML。
for cada in rootxml.find_all(retornoForEachVar):
print '------'
print cada.tag
对于为例,在这种情况下,变量“retornoForEachVar”的值为“GarantidorFielDepositario”,给我所有的“GarantidorFielDepositario”标签。但是print cada.tag在屏幕上显示“none”。
可以find_all()给我一个XML值? 我必须将结果解析为XML吗?
你是如何创建'rootxml'汤?解析器是什么? –
rootxml = bs4.BeautifulSoup(open('rootRequest.xml').read(),'xml') – Edgard