2016-11-23 46 views
1

我試圖創建一個函數來計算pptx文件中的單詞。問題是,我無法弄清楚如何找到只有這種標籤:SyntaxError:在前綴映射中找不到前綴'a'

<a:t>Some Text</a:t>

當我嘗試:print xmlTree.findall('.//a:t'),它返回

SyntaxError: prefix 'a' not found in prefix map

你知道該怎麼做使其工作?

這是函數:

def get_pptx_word_count(filename): 
    import xml.etree.ElementTree as ET 
    import zipfile 
    z = zipfile.ZipFile(filename) 
    i=0 
    wordcount = 0 
    while True: 
     i+=1 
     slidename = 'slide{}.xml'.format(i) 
     try: 
      slide = z.read("ppt/slides/{}".format(slidename)) 
     except KeyError: 
      break 
     xmlTree = ET.fromstring(slide) 
     for elem in xmlTree.iter(): 
      if elem.tag=='a:t': 
       #text = elem.getText 
       #num = len(text.split(' ')) 
       #wordcount+=num 
+0

[經由 'ElementTree的' 解析與在Python命名空間XML]的可能的複製(http://stackoverflow.com/問題/ 14853243 /解析的XML-與名稱空間中的Python-通路的ElementTree) – dsh

回答