2017-05-05 49 views
0

我的XML文檔的結構是這樣的:如何讓BeautifulSoup向我展示特定的字符串?

root document sentences sentence id tokens token id word lemma POS NER

這裏是token id孩子的例子:我想篩選出的僅是有NER那些話細節

 <word>Denmark</word> 
     <lemma>denmark</lemma> 
     <CharacterOffsetBegin>0</CharacterOffsetBegin> 
     <CharacterOffsetEnd>7</CharacterOffsetEnd> 
     <POS>NN</POS> 
     <NER>LOCATION</NER> 

標籤「LOCATION」。我嘗試這樣做:

soup = BeautifulSoup(markup,"lxml-xml") 
print(soup.find_all('NER')) 

但是這給了我:

[<NER>LOCATION</NER>, <NER>O</NER>, <NER>NUMBER</NER>, <NER>O</NER>] 

我想:

denmark, LOCATION 

如何獲得呢?我查看了文檔,但找不到出路。

回答

1

一種選擇是用LOCATION文本定位NER標籤,並獲得它的父:

for ner in soup('NER', text='LOCATION'): 
    token = ner.parent 

    print(token.word.get_text(), token.ner.get_text()) 
相關問題