如何使用beautiful soup解析这个xml文件?

2024-10-01 17:30:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用BeautifulSoup来解析xml文件,我试图阅读Crummy的BS文档,但找不到任何适合xml解析的内容。现在,我只能弄明白这么多:

file = open("input.xml")
page = file.read()

soup = BeautifulSoup(page, "xml")
for word in soup.findAll('word'):
    word_attr = dict(word.attrs)
    netag = word.find('ner')
    nertag = dict(netag)
    print ("STOP", nertag['ner'])

但是,它什么也没做。 我的xml文件格式为:

^{pr2}$

我要做的是提取NER值,删除带有“STOP”的句点标点,并将其写入另一个txt文件。在

例如句子:Starbucks in New York is good.(用xml编写) 应给出:ORGANIZATION in LOCATION is good STOP

有人能帮我做这个吗?或者为我提供足够的文档来进行漂亮的Soup xml解析?在


Tags: 文件in文档ispagexmldictword
1条回答
网友
1楼 · 发布于 2024-10-01 17:30:56

您需要查找sibling标记;下一个或上一个兄弟标记都可以,此时,先找到父对象就更容易了:

for word in soup.find_all('word'):
    ner = word.parent.find('NER')
    if not ner: continue
    print '{} in {} is good'.format(ner.string.strip(), word.string.strip())

演示:

^{pr2}$

但是,您可以将^{} API用于此任务;它与beauthoulGroup一样能够处理XML。因为显然已经安装了lxml,所以可以使用它们的ElementTree实现。在

相关问题 更多 >

    热门问题