Python:lxml不是一直在读取元素文本

Python:lxml不是一直在读取元素文本,python,pandas,lxml,Python,Pandas,Lxml,我想将以下结构的xml文件加载到数据框架中 xml的大小可能在1 GB到6GB之间 下面的xml示例只有5条记录,但我的acutal文件将有大约100000条记录,如下面的记录属性所述(records=“108881”) 此外,该文件中的每个元素都有一些值。 整个文件中没有一个元素为空 <?xml version="1.0" encoding="UTF-8"?> <ACADEMICS> <STUDENTS ASOF_DATE="11/21/2019" CR

我想将以下结构的xml文件加载到数据框架中

xml的大小可能在1 GB到6GB之间

下面的xml示例只有5条记录,但我的acutal文件将有大约100000条记录,如下面的记录属性所述(records=“108881”)

此外,该文件中的每个元素都有一些值。 整个文件中没有一个元素为空

<?xml version="1.0" encoding="UTF-8"?>
<ACADEMICS>  
   <STUDENTS ASOF_DATE="11/21/2019" CREATE_DATE="11/22/2019" RECORDS="108881">      
    <STUDENT>      
        <NAME>JOHN</NAME>      
        <REGNUM>1000</REGNUM>      
        <COUNTRY>USA</COUNTRY>      
        <ID>JH1</ID>
        <SHORT_STD_DESC>JOHN IS A GOOD STUDENT</SHORT_STD_DESC>
    </STUDENT>
    <STUDENT>      
        <NAME>ADAM</NAME>      
        <REGNUM>1001</REGNUM>      
        <COUNTRY>FRANCE</COUNTRY>      
        <ID>AD2</ID>
        <SHORT_STD_DESC>ADAM IS A GOOD STUDENT</SHORT_STD_DESC>
    </STUDENT>
    <STUDENT>      
        <NAME>PETER</NAME>      
        <REGNUM>1003</REGNUM>      
        <COUNTRY>BELGIUM</COUNTRY>      
        <ID>PE5</ID>
        <SHORT_STD_DESC>PETER IS A GOOD STUDENT</SHORT_STD_DESC>
    </STUDENT>
    <STUDENT>      
        <NAME>ERIC</NAME>      
        <REGNUM>1006</REGNUM>      
        <COUNTRY>AUSTRALIA</COUNTRY>      
        <ID>ER7</ID>
        <SHORT_STD_DESC>ERIC IS A GOOD STUDENT</SHORT_STD_DESC>
    </STUDENT>
    <STUDENT>      
        <NAME>NICHOLAS</NAME>      
        <REGNUM>1009</REGNUM>      
        <COUNTRY>GREECE</COUNTRY>      
        <ID>NI8</ID>
        <SHORT_STD_DESC>NICHOLAS IS A GOOD STUDENT</SHORT_STD_DESC>
    </STUDENT>
</STUDENTS>
现在的问题是,当我将这个xml加载到dataframe中时,如上面的函数所示,对于一些记录,我得到“None”作为ID和SHORT_STD_DESC元素的文本。 但实际的xml文件具有该值。 所以我不确定为什么它没有反映在我的数据帧中?
任何输入都会对我有很大帮助。

这可能更多的是一个评论而不是一个答案,但我无法将其放入实际的评论中

试着改变

 else:        
     for event, elem in context:                                          
           doc = self.recursive_dict(elem)    
只是:

 else:             
     doc = self.recursive_dict(elem)    

看看是否有效。

非常感谢,杰克,这解决了我的问题。这几天来我一直在挠头修理它。
 else:             
     doc = self.recursive_dict(elem)