2016-08-04 70 views
0

後我解析具有以下結構的XML文檔:問題顯示XML解析

<Distlist> 
    <DistDoc> 
    <Metadata></Metadata> 
    <ArchiveDoc> 
     <Article> 
      <Para>aaaaaa</Para> 
      <Para>bbbbbb</Para> 
      <Para>cccccc</Para> 
     </Article> 
    </ArchiveDoc> 
    </DistDoc> 
</Distlist> 

我在每個文件5000篇文章,每篇文章的全文被分成段落。我提取與下面的代碼文章的全文(我用LXML):

doc = etree.parse(path) #Parse file 
root=doc.getroot() #Get the root 

#Store full texts in list 
full_texts = [] 
for child in root: 
    full_texts.append("\n\n".join(child[1][0].itertext())) 

當我看到是這樣的輸出:

aaaaaaabbbbbbcccc 

雖然我的期望輸出(雙行打破)應該是:

aaaaaa 

bbbbbb 

cccccc 

段落之間沒有分隔時很難閱讀。我究竟做錯了什麼?

回答

1

遍歷article節點和連接para節點的文本:

for article in root.xpath(".//Article"): 
    texts = article.xpath(".//Para/text()") 
    print("\n".join(texts)) 
+0

它的工作,非常感謝! – pawelty