首页 > 解决方案 > 从组标签中获取字符串文本

问题描述

我想获取组标签 xml 的内容字符串

以这个 xml 为例:

<retEvento versao="1.00" xmlns="http://www.portalfiscal.inf.br/nfe">
    <infEvento>
        <tpAmb>2</tpAmb>
        <verAplic>SVRSnfce201808211044</verAplic>
        <cOrgao>22</cOrgao>
        <cStat>135</cStat>
        <xMotivo>Evento registrado e vinculado a NF-e</xMotivo>
        <chNFe>XXXXXXXXXXXXXXXXXXXXXXXXXXX</chNFe>
        <tpEvento>110111</tpEvento>
        <nSeqEvento>1</nSeqEvento>
        <dhRegEvento>2019-04-17T15:59:45-03:00</dhRegEvento>
        <nProt>YYYYYYYYYYYYYYY</nProt>
    </infEvento>
</retEvento>

我想获取 infEvento 组的字符串内容。像这样:

<infEvento>
        <tpAmb>2</tpAmb>
        <verAplic>SVRSnfce201808211044</verAplic>
        <cOrgao>22</cOrgao>
        <cStat>135</cStat>
        <xMotivo>Evento registrado e vinculado a NF-e</xMotivo>
        <chNFe>XXXXXXXXXXXXXXXXXXXXXXXXXXX</chNFe>
        <tpEvento>110111</tpEvento>
        <nSeqEvento>1</nSeqEvento>
        <dhRegEvento>2019-04-17T15:59:45-03:00</dhRegEvento>
        <nProt>YYYYYYYYYYYYYYY</nProt>
    </infEvento>

我试试这个:

ns = {'ns':'http://www.portalfiscal.inf.br/nfe'}
el.xpath('//ns:retEvento',namespaces=ns)[0].text

但我什么也没得到:(

标签: pythonxmllxmlelementtree

解决方案


尝试使用该tostring方法。

etree.tostring(el.xpath('//ns:retEvento',namespaces=ns)[0])

推荐阅读