Sortieren A-Z des Inhaltes einer .xml Datei

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
mr-evil1
User
Beiträge: 35
Registriert: Montag 11. März 2019, 10:48

Hallo Gemeinde. Habe eine neue Frage an euch.
Gibt es eine Möglichkeit den Inhalt einer XML Alphabetisch zu sortieren? So dass eine Struktur nicht zerstört wird?

Hier mal eine eine Beispiel Xml

Code: Alles auswählen

<favourites>
    <favourite name="A&amp;E" thumb="https://vjackson.info">PlayMedia(&quot;plugin://plugin.video.vavooto/?action=live&amp;group=Germany&amp;name=A%26E&quot;)</favourite>
    <favourite name="MY SPORTS 4K" thumb="https://vjackson.info">PlayMedia(&quot;plugin://plugin.video.vavooto/?action=live&amp;group=Germany&amp;name=MY+SPORTS+4K&quot;)</favourite>
    <favourite name="ARD" thumb="https://vjackson.info">PlayMedia(&quot;plugin://plugin.video.vavooto/?action=live&amp;group=Germany&amp;name=ARD&quot;)</favourite>
    <favourite name="CARTOON NETWORK GERMANY" thumb="https://vjackson.info">PlayMedia(&quot;plugin://plugin.video.vavooto/?action=live&amp;group=Germany&amp;name=CARTOON+NETWORK+GERMANY&quot;)</favourite>
    <favourite name="MDR THÜRINGEN" thumb="https://vjackson.info">PlayMedia(&quot;plugin://plugin.video.vavooto/?action=live&amp;group=Germany&amp;name=MDR+TH%C3%9CRINGEN&quot;)</favourite>
    <favourite name="DISNEY CHANNEL HD GERMANY" thumb="https://vjackson.info">PlayMedia(&quot;plugin://plugin.video.vavooto/?action=live&amp;group=Germany&amp;name=DISNEY+CHANNEL+HD+GERMANY&quot;)</favourite>
    <favourite name="ELITE CINEMA 3" thumb="https://vjackson.info">PlayMedia(&quot;plugin://plugin.video.vavooto/?action=live&amp;group=Germany&amp;name=ELITE+CINEMA+3&quot;)</favourite>
    <favourite name="KANAL 9" thumb="https://vjackson.info">PlayMedia(&quot;plugin://plugin.video.vavooto/?action=live&amp;group=Germany&amp;name=KANAL+9&quot;)</favourite>
    <favourite name="MOVIES 12" thumb="https://vjackson.info">PlayMedia(&quot;plugin://plugin.video.vavooto/?action=live&amp;group=Germany&amp;name=MOVIES+12&quot;)</favourite>
    <favourite name="MOVIES 5" thumb="https://vjackson.info">PlayMedia(&quot;plugin://plugin.video.vavooto/?action=live&amp;group=Germany&amp;name=MOVIES+5&quot;)</favourite>
    <favourite name="HEIMATKANAL" thumb="https://vjackson.info">PlayMedia(&quot;plugin://plugin.video.vavooto/?action=live&amp;group=Germany&amp;name=HEIMATKANAL&quot;)</favourite>
    <favourite name="NAT GEOGRAPHIC" thumb="https://vjackson.info">PlayMedia(&quot;plugin://plugin.video.vavooto/?action=live&amp;group=Germany&amp;name=NAT+GEOGRAPHIC&quot;)</favourite>
    <favourite name="ACHT" thumb="https://vjackson.info">PlayMedia(&quot;plugin://plugin.video.vavooto/?action=live&amp;group=Germany&amp;name=ACHT&quot;)</favourite>
</favourites>


Hier wäre das Ergäbnis das ich manuell machte.

Code: Alles auswählen

<favourites>
    <favourite name="ACHT" thumb="https://vjackson.info">PlayMedia(&quot;plugin://plugin.video.vavooto/?action=live&amp;group=Germany&amp;name=ACHT&quot;)</favourite>
    <favourite name="A&amp;E" thumb="https://vjackson.info">PlayMedia(&quot;plugin://plugin.video.vavooto/?action=live&amp;group=Germany&amp;name=A%26E&quot;)</favourite>
    <favourite name="ARD" thumb="https://vjackson.info">PlayMedia(&quot;plugin://plugin.video.vavooto/?action=live&amp;group=Germany&amp;name=ARD&quot;)</favourite>
    <favourite name="CARTOON NETWORK GERMANY" thumb="https://vjackson.info">PlayMedia(&quot;plugin://plugin.video.vavooto/?action=live&amp;group=Germany&amp;name=CARTOON+NETWORK+GERMANY&quot;)</favourite>
    <favourite name="DISNEY CHANNEL HD GERMANY" thumb="https://vjackson.info">PlayMedia(&quot;plugin://plugin.video.vavooto/?action=live&amp;group=Germany&amp;name=DISNEY+CHANNEL+HD+GERMANY&quot;)</favourite>
    <favourite name="ELITE CINEMA 3" thumb="https://vjackson.info">PlayMedia(&quot;plugin://plugin.video.vavooto/?action=live&amp;group=Germany&amp;name=ELITE+CINEMA+3&quot;)</favourite>
    <favourite name="HEIMATKANAL" thumb="https://vjackson.info">PlayMedia(&quot;plugin://plugin.video.vavooto/?action=live&amp;group=Germany&amp;name=HEIMATKANAL&quot;)</favourite>
    <favourite name="KANAL 9" thumb="https://vjackson.info">PlayMedia(&quot;plugin://plugin.video.vavooto/?action=live&amp;group=Germany&amp;name=KANAL+9&quot;)</favourite>
    <favourite name="MDR THÜRINGEN" thumb="https://vjackson.info">PlayMedia(&quot;plugin://plugin.video.vavooto/?action=live&amp;group=Germany&amp;name=MDR+TH%C3%9CRINGEN&quot;)</favourite>
    <favourite name="MOVIES 12" thumb="https://vjackson.info">PlayMedia(&quot;plugin://plugin.video.vavooto/?action=live&amp;group=Germany&amp;name=MOVIES+12&quot;)</favourite>
    <favourite name="MOVIES 5" thumb="https://vjackson.info">PlayMedia(&quot;plugin://plugin.video.vavooto/?action=live&amp;group=Germany&amp;name=MOVIES+5&quot;)</favourite>
    <favourite name="MY SPORTS 4K" thumb="https://vjackson.info">PlayMedia(&quot;plugin://plugin.video.vavooto/?action=live&amp;group=Germany&amp;name=MY+SPORTS+4K&quot;)</favourite>
    <favourite name="NAT GEOGRAPHIC" thumb="https://vjackson.info">PlayMedia(&quot;plugin://plugin.video.vavooto/?action=live&amp;group=Germany&amp;name=NAT+GEOGRAPHIC&quot;)</favourite>
</favourites>

Vielen Dank schon mal für eure Hilfe
Sirius3
User
Beiträge: 18254
Registriert: Sonntag 21. Oktober 2012, 17:20

Oh ja, es gibt viele Möglichkeit. Wo hast Du denn ein konkretes Problem? Hast Du Dich schon in ElementTree eingearbeitet?
Benutzeravatar
__blackjack__
User
Beiträge: 14007
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@mr-evil1: So ganz grob könnte man das XML mit `xml.etree.ElementTree` parsen, sich das Wurzelelement geben lassen, und dann die Kindelemente (`Element`-Objekte sind iterierbar) davon durch die entsprechend sortierten Kindelemente (`sorted()`-Funktion) ersetzen lassen (Zuweisung per „slice“-Syntax).
“The best book on programming for the layman is »Alice in Wonderland«; but that's because it's the best book on anything for the layman.” — Alan J. Perlis
Benutzeravatar
__blackjack__
User
Beiträge: 14007
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@mr-evil1: Wobei ich gerade komisch finde das Du „A&E“ zwischen „ACHT“ und „ARD“ einsortierst‽
“The best book on programming for the layman is »Alice in Wonderland«; but that's because it's the best book on anything for the layman.” — Alan J. Perlis
mr-evil1
User
Beiträge: 35
Registriert: Montag 11. März 2019, 10:48

@__blackjack__ hab ich wohl übersehen.

@all
Zur Verfügung steht mir Python 2.7.
ElementTree ist leider Neuland für mich.
Benutzeravatar
__blackjack__
User
Beiträge: 14007
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Das mit 2.7 ist bedauerlich und sollte geändert werden: https://pythonclock.org/

Das Neuland wirst Du dann kennenlernen müssen. Viel Spass beim erkunden. 🙂
“The best book on programming for the layman is »Alice in Wonderland«; but that's because it's the best book on anything for the layman.” — Alan J. Perlis
Antworten