问题显示XML解析
问题描述:
后我解析具有以下结构的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
段落之间没有分隔时很难阅读。我究竟做错了什么?
答
遍历article
节点和连接para
节点的文本:
for article in root.xpath(".//Article"):
texts = article.xpath(".//Para/text()")
print("\n".join(texts))
它的工作,非常感谢! – pawelty