没有在python中获取所有XML elementree子子元素

时间:2016-07-15 13:23:18

标签: python xml elementtree

我正在尝试在一堆xml专利文件中捕获所有索赔文本税,但在<claim-test>中遇到标记问题。有时会有另一个<claim-text>,有时也会<claim-ref>中断文本。在我的输出中,代码被截断。通常有超过10个索赔。我试图只获取索赔文本中的文本。

我已经看过并试过以下但这些不起作用: xml elementree missing elements pythonHow to get all sub-elements of an element tree with Python ElementTree? 我已经在这里添加了一个片段,因为它确实需要很长时间来捕捉所有内容。

Claims_text_xml

我的代码如下(其中fullname是文件名和目录)。

for _,elem in iterparse(fullname):

        description = '' # reset to empty string at beginning of each loop
        abtext = '' # reset to empty string at beginning of each loop
        claimtext= '' # reset to empty string

        if elem.tag == 'claims':
            for node4 in tree.findall('.//claims/claim/claim-text'):
                claimtext =  claimtext + node4.text
                f.write('\n\nCLAIMTEXT\n\n\n') 
                f.write(smart_str(claimtext) + '\n\n')


      #put row in df          
    row = dict(zip(['PATENT_ID', 'CLASS', 'ABSTRACT', 'DESCRIPTION','CLAIMS'], [data,cat,abtext,description,claimtext]))
    row_s = pd.Series(row)           
    row_s.name = i
    df = df.append(row_s)

因此产生的问题是双重的a)我只得到一个打印到fil的文本和b)根本没有任何内容进入数据框。我不确定这是同一问题的一部分还是两个不同的问题。我可以将声明打印到文件中并且工作正常但跳过一些文本。

0 个答案:

没有答案