Jak parsować duży plik XML?

Jak parsować duży plik XML?
X3
  • Rejestracja:ponad 9 lat
  • Ostatnio:2 miesiące
  • Postów:308
0

Mam Plik xml składający się z kilkust takich części:

Kopiuj
<channel id="TVP 1">
  <display-name lang="pl">TVP 1</display-name>
  <display-name lang="pl">TVP1</display-name>
  <display-name lang="pl">PL: TVP 1</display-name>
  <display-name lang="pl">PL: TVP 1 HD</display-name>
  <display-name lang="pl">TVP 1 HD</display-name>
  <display-name lang="pl">TVP 1 FHD</display-name>
  <display-name lang="pl">PL| TVP 1</display-name>
  <display-name lang="pl">TVP 1 PL</display-name>
  <display-name lang="pl">TVP 1 HD PL</display-name>
  <display-name lang="pl">TVP 1 FHD PL</display-name>
  <display-name lang="pl">PL| TVP 1 HD</display-name>
  <display-name lang="pl">PL: TVP 1 FHD</display-name>
  <display-name lang="pl">PL: TVP1</display-name>
  <display-name lang="pl">TVP 1 sd</display-name>
  <display-name lang="pl">TVP 1 HD [HEVC/low]</display-name>
  <display-name lang="pl">PL: TVP 1 HD LQ</display-name>
  <display-name lang="pl">TVP1 HD</display-name>
  <icon src="http://epg.ovh/logo/TVP+1.png" />
  <url>http://www.epg.ovh</url>
</channel>
  1. Jak to sparsować?
  2. Chcę zapisać 'display-name' do listy.

Chcę, aby tparsowanie było szybkie.

edytowany 2x, ostatnio: Riddle
S4
  • Rejestracja:około 3 lata
  • Ostatnio:ponad rok
  • Postów:1268
1

Kilkaset, czyli ile to może mieć w mb? Myślę ze spokojnie może zserializować to do obiektów.

Spine
  • Rejestracja:około 22 lata
  • Ostatnio:2 minuty
  • Postów:6656
1

@xenix33: Do takich zadań zazwyczaj używam ChatGPT, a potem dostosowuję kod do swoich potrzeb...

Zobacz: https://chat.openai.com/share/7fa209e0-111c-41d8-8670-5d3f651f967e


🕹️⌨️🖥️🖱️🎮
X3
  • Rejestracja:ponad 9 lat
  • Ostatnio:2 miesiące
  • Postów:308
0

Dzięki.

lion137
  • Rejestracja:około 8 lat
  • Ostatnio:3 minuty
  • Postów:4927
1

Użyj lxml


DR
  • Rejestracja:prawie 12 lat
  • Ostatnio:około 17 godzin
  • Postów:1131
1

Ja osobiście lubię BeautifulSoup używać. Jak kiedyś format się zmieni, to wystarczy podmienić engine I dalej wszystko śmiga. Pasowałem tym pliki po 5GB.

lion137
  • Rejestracja:około 8 lat
  • Ostatnio:3 minuty
  • Postów:4927
1

Też spoko, ale za dużo nie robiłem, natomiast z lxml pracowałem sporo w banku, i mogę polecić z czystym sumieniem


edytowany 1x, ostatnio: lion137
DR
  • Rejestracja:prawie 12 lat
  • Ostatnio:około 17 godzin
  • Postów:1131
0

No mnie lata temu jak szukałem dla siebie rozwiązania, to znalazłem właśnie BS i tak zostałem. Po drodze używałem tego 'pythonowego' xml jeszcze w 2.7 jak pisałem i nie przekonałem się :P

X3
  • Rejestracja:ponad 9 lat
  • Ostatnio:2 miesiące
  • Postów:308
0
lion137 napisał(a):

Też spoko, ale za dużo nie robiłem, natomiast z lxml pracowałem sporo w banku, i mogę polecić z czystym sumieniem

lxml patrzę, ale nie pomyślałem o bs4 albo scrappy.
to jest ciekawe:
http://www.w3big.com/pl/python/python-xml.html#gsc.tab=0

edytowany 1x, ostatnio: xenix33
lion137
  • Rejestracja:około 8 lat
  • Ostatnio:3 minuty
  • Postów:4927
0

Scrapy jest typowym frameworkiem do scrapowania, bs4 też, ale bardziej uniwersalny.


Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.