我想用python从XML文件中提取包含标签的文本,以及标签中的标签
这就是我的文件的样子:
<p>blablabla</p>
<p>blablabla / blablabla,</p>
<p>blablabla</p>
<p>blablabla / blablabla / blablabla</p>
<p>blablabla.</p>
首先我想找到整个条目(文件中的一个整个条目看起来像上面那个),然后我想在每个&#34; /&#34;之后将条目分成很多部分,最后删除所有条目重新标记"<p>" and "</p>"
我认为这可以做到(python2.7):
first_results = []
lines = open(sys.argv[1])
for l in lines:
re.match(r'<p>[\s\S]*?\.<\/p>', l)
l = l.split("/")
first_results.append(l)
for b in first_results:
b = re.sub(r'(<p>)|(</p>)', r'', b)
我的问题是:这是一些无法正常工作的问题。我可以用正则表达式获得正确的输入,但我不知道如何做其余的事情。有一个更好的方法吗?最后,我希望将文本分成&#34; /&#34;并用制表符分隔,类似于:
blablabla blablabla lablabla blablabla blablabla ect...
对此最好的方法是什么?在这一点上,我想说我是python的新手,但已经是一个大粉丝:)
答案 0 :(得分:0)
首先,请看这篇文章:RegEx match open tags except XHTML self-contained tags。这与您的情况高度相关。
其次,Python在#conteudo p
{
text-align: center;
font-size: 180%;
}
#conteudo p:first-of-type
{
/* Comment the margin-top attribute and the height of the #conteudo div will change. It shouldn't. */
margin-top: 150px;
margin-bottom: 10px;
}
#conteudo p:last-of-type
{
margin: 0;
color: #004182;
}
包中附带了一个非常好的XML解析器,附带了该语言。