У меня есть некоторые XML:BeautifulSoup FindAll
<article>
<uselesstag></uslesstag>
<topic>oil, gas</topic>
<body>body text</body>
</article>
<article>
<uselesstag></uslesstag>
<topic>food</topic>
<body>body text</body>
</article>
<article>
<uselesstag></uslesstag>
<topic>cars</topic>
<body>body text</body>
</article>
Есть много, много бесполезных тегов. Я хочу использовать beautifulsoup, чтобы собрать весь текст в тегах тела и связанный с ним текст темы, чтобы создать новый xml.
Я новичок в Python, но я подозреваю, что некоторые формы
import arff
from xml.etree import ElementTree
import re
from StringIO import StringIO
import BeautifulSoup
from BeautifulSoup import BeautifulSoup
totstring=""
with open('reut2-000.sgm', 'r') as inF:
for line in inF:
string=re.sub("[^0-9a-zA-Z<>/\s=!-\"\"]+","", line)
totstring+=string
soup = BeautifulSoup(totstring)
body = soup.find("body")
for anchor in soup.findAll('body'):
#Stick body and its topics in an associated array?
file.close
будет работать.
1) Как мне это сделать? 2) Должен ли я добавить корневой узел в XML? иначе это не правильный XML-это?
Большое спасибо
Edit:
Что я хочу, чтобы в конечном итоге это:
<article>
<topic>oil, gas</topic>
<body>body text</body>
</article>
<article>
<topic>food</topic>
<body>body text</body>
</article>
<article>
<topic>cars</topic>
<body>body text</body>
</article>
Есть много, много бесполезных теги.
так, как вы хотите получить содержание от метки A, B, C или получить все содержимое тегов, игнорируя теги D, E, F? –
Да, я хочу два типа тегов (тело и тема) и игнорировать другие вещи (дата, время и т. Д.) –