我正在解析具有以下结构的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
当段落之间没有分离时,很难阅读。我做错了什么?
答案 0 :(得分:1)
迭代article
个节点并加入para
个节点的文本:
for article in root.xpath(".//Article"):
texts = article.xpath(".//Para/text()")
print("\n".join(texts))