2017-07-07 52 views
0

我使用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嗎?

+0

你是如何創建'rootxml'湯?解析器是什麼? –

+0

rootxml = bs4.BeautifulSoup(open('rootRequest.xml').read(),'xml') – Edgard

回答

0

打印的孩子,可以做

for cada in rootxml.find_all(retornoForEachVar): 
    children = cada.findChildren() 
    for child in children: 
     print child 
+0

user8123426,這裏是traceback:AttributeError:'NavigableString'對象沒有屬性'tag' – Edgard

相關問題