2017-03-13 1 views
0

Ich müsste den Wert von Kind namens "Name" in einer XML-Datei zurückgeben. Die Standard-Nutzung gibt nur den Namen des Tags (wie der .name eine BS4 Funktion zu sein scheint, dass die Tag-Namen zurückgibt:Returning-Attribut namens "name" in BeautifulSoup4

for e in eventSoup.find_all('event'): 
    print(e.name) 

# event 

Gibt es eine Möglichkeit, die den tatsächlichen Wert des Tags zurückzukehren

?

edit: Die XML wie folgt strukturiert:

<event id="7"> 
<def_id>7</def_id> 
<name>Event name</name> 

Antwort

1

Sie können find verwenden.

Events = soup.find_all("event") 

for Event in Events: 
    NameChild = Event.find("name") 
    print (NameChild.text) 

Ausgänge:

Ereignisname

+0

Ihr Code nicht pep-8 Konventionen verwendet. Variablen in Python sollen nicht Camelcase sein. Bitte bearbeiten Sie es. – LaraChicharo

+0

@LaraChicharo PEP8 ist die letzte Sache, auf die man aufpassen muss. PEP8 andere Leute nicht. –

+0

@ 宏杰 李 Es ist wichtig zu versuchen, sauberen Code zu machen. – LaraChicharo

0

Sie benötigen text Eigenschaft

zB:..

for e in eventSoup.find_all('event'): 
    nameTag = e.find('name') 
    print(nameTag.text) 
Verwandte Themen