2013-07-16 2 views
-1

С предыдущим проектом я извлекал данные из атрибутов XML-тегов, но я не могу понять, как получить текст дочерних узлов XML. Программа вытаскивает идентификаторы из текстового файла и подключает их к URL-адресу, который затем анализируется. XML выглядит следующим образом:Python XML BeautifulSoup получить текст дочерних узлов

<Article> 
    <Sometag Owner="Steve" Status="online"> 
     <ID Version="1">231119634</PMID> 
     <DateCreated> 
      <Year>2012</Year> 
      <Month>10</Month> 
      <Day>10</Day> 
     </DateCreated> 

Я хочу, чтобы получить yearmonth и day текст из детей Теги DateCreated

До сих пор у меня есть следующие, не повезло

link = "http://somelink.com/"+line.rstrip('\n')+"?id=xml&format=text" 
    args = (curlLink + ' -L ' + link + ' -o c:\\temp.txt --proxy-ntlm -x http://myproxy:80 -k -U:') 
    sp = subprocess.Popen(args) #run curl 
    sp.wait() #Wait for it to finish before proceeding 
    xml_string = open(r'C:\temp.txt', 'r').read() #read in the temporary file 
    os.remove(r'C:\temp.txt') # clean up 
    soup = BeautifulSoup(xml_string) 
    result = soup.find('DateCreated') 
    if result is not None: 
     date = result.children.get_text() 
     g.write(date +"\n") 
+0

больной благодарность за нисходящее без причины – sdweldon

ответ

1

Существует несколько различных способов получения информации из данных:

year = int(date.Year.text) 
month = int(date.Month.text) 
day = int(date.Day.text) 

или date.text предоставляет текстовое содержимое в виде строки. То, что вы должны использовать, зависит от того, что вам действительно нужно.

Смежные вопросы