Linefeeds in XML mit BeautifulSoup
Verfasst: Dienstag 7. Juli 2020, 14:12
Hallo ich probier gerade XML Dateien mit Python mittels BeautifulSoup einzulesen.
Dabei ist mit Aufgefallen, das die Linefeeds aus dem eingelesenen Textfile dabei als eigene Elemente erkannt werden.
Hier mal mein XML Bespiel
Und mein Code:
Als Ausgabe krieg ich
Sprich mit <a>-tag enthält auf einmal 5 Elemente anstelle von 2.
Mach ich irgendwas falsch oder ist das normal?
Muss ich da noch irgendeinen Parameter bei BeautifulSoup einstellen oder dem eingelesenen File noch irgendwas vor dem Umwandeln anstellen?
In der Dokumentation hab ich nichts dazu gefunden.
Dabei ist mit Aufgefallen, das die Linefeeds aus dem eingelesenen Textfile dabei als eigene Elemente erkannt werden.
Hier mal mein XML Bespiel
Code: Alles auswählen
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<a>
<b>Hallo</b>
<c>World</c>
</a>
Code: Alles auswählen
from bs4 import BeautifulSoup
input_file = 'Hello_World.dat'
f = open(input_file,'r')
soup = BeautifulSoup(f, 'xml', from_encoding='utf-8')
f.close()
print(soup.a.contents)
Code: Alles auswählen
['\n', <b>Hallo</b>, '\n', <c>World</c>, '\n']
Mach ich irgendwas falsch oder ist das normal?
Muss ich da noch irgendeinen Parameter bei BeautifulSoup einstellen oder dem eingelesenen File noch irgendwas vor dem Umwandeln anstellen?
In der Dokumentation hab ich nichts dazu gefunden.