Python 使用Beautiful Soup解析Grobid.tei.xml输出

Python 使用Beautiful Soup解析Grobid.tei.xml输出,python,beautifulsoup,grobid,Python,Beautifulsoup,Grobid,我正在尝试使用Beauty Soup从使用Grobid生成的.tei.xml文件中提取元素 我可以通过以下方式获得标题: 访问“低级”元素的正确语法是什么?(作者/附属机构等) 这是tei.xml文件的一部分,即Grobid输出: <?xml version="1.0" encoding="UTF-8"?> <TEI xmlns="http://www.tei-c.org/ns/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-

我正在尝试使用Beauty Soup从使用Grobid生成的.tei.xml文件中提取元素

我可以通过以下方式获得标题:

访问“低级”元素的正确语法是什么?(作者/附属机构等)

这是tei.xml文件的一部分,即Grobid输出:

<?xml version="1.0" encoding="UTF-8"?>
<TEI xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 /data/grobid-0.5.1/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
        <teiHeader xml:lang="en">
                <encodingDesc>
                        <appInfo>
                                <application version="0.5.1-SNAPSHOT" ident="GROBID" when="2018-08-15T14:51+0000">
                                        <ref target="https://github.com/kermitt2/grobid">GROBID - A machine learning software for extracting information from scholarly documents</ref>
                                </application>
                        </appInfo>
                </encodingDesc>
                <fileDesc>
                        <titleStmt>
                                <title level="a" type="main">The Role of Artificial Intelligence in Software Engineering</title>
                        </titleStmt>
                        <publicationStmt>
                                <publisher/>
                                <availability status="unknown"><licence/></availability>
                        </publicationStmt>
                        <sourceDesc>
                                <biblStruct>
                                        <analytic>
                                                <author>
                                                        <persName xmlns="http://www.tei-c.org/ns/1.0"><forename type="first">Mark</forename><surname>Harman</surname></persName>
                                                        <affiliation key="aff0">
                                                                <orgName type="department">CREST Centre</orgName>
                                                                <orgName type="institution">University College London</orgName>
                                                                <address>
                                                                        <addrLine>Malet Place</addrLine>
                                                                        <postCode>WC1E 6BT</postCode>
                                                                        <settlement>London</settlement>
                                                                        <country key="GB">UK</country>
                                                                </address>
                                                        </affiliation>
                                                </author>
                                                <title level="a" type="main">The Role of Artificial Intelligence in Software Engineering</title>
                                        </analytic>
                                        <monogr>
                                                <imprint>
                                                        <date/>
                                                </imprint>
                                        </monogr>
                                </biblStruct>
                        </sourceDesc>
                </fileDesc>'

GROBID-一种机器学习软件,用于从学术文档中提取信息
人工智能在软件工程中的作用
马克哈曼
克雷斯特中心
伦敦大学学院
马莱广场
WC1E 6BT
伦敦
英国
人工智能在软件工程中的作用
'

谢谢

BeautifulSoup将节点小写,下面是一些示例:

title = soup.html.body.teiheader.filedesc.analytic.title.string

for author in soup.html.body.teiheader.filedesc.sourcedesc.find_all('author'):
    tag_or_none = author.persname.forename
    first_affiliation = author.affiliation
也包括一切

我现在正在研究一个类似的问题,并寻求合作。如果你想合作,请告诉我--sof@nconnor.com

title = soup.html.body.teiheader.filedesc.analytic.title.string

for author in soup.html.body.teiheader.filedesc.sourcedesc.find_all('author'):
    tag_or_none = author.persname.forename
    first_affiliation = author.affiliation