Seite 1 von 1

Sortieren A-Z des Inhaltes einer .xml Datei

Verfasst: Mittwoch 7. August 2019, 07:09
von mr-evil1
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

Re: Sortieren A-Z des Inhaltes einer .xml Datei

Verfasst: Mittwoch 7. August 2019, 07:27
von Sirius3
Oh ja, es gibt viele Möglichkeit. Wo hast Du denn ein konkretes Problem? Hast Du Dich schon in ElementTree eingearbeitet?

Re: Sortieren A-Z des Inhaltes einer .xml Datei

Verfasst: Mittwoch 7. August 2019, 07:54
von __blackjack__
@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).

Re: Sortieren A-Z des Inhaltes einer .xml Datei

Verfasst: Mittwoch 7. August 2019, 07:58
von __blackjack__
@mr-evil1: Wobei ich gerade komisch finde das Du „A&E“ zwischen „ACHT“ und „ARD“ einsortierst‽

Re: Sortieren A-Z des Inhaltes einer .xml Datei

Verfasst: Mittwoch 7. August 2019, 08:08
von mr-evil1
@__blackjack__ hab ich wohl übersehen.

@all
Zur Verfügung steht mir Python 2.7.
ElementTree ist leider Neuland für mich.

Re: Sortieren A-Z des Inhaltes einer .xml Datei

Verfasst: Mittwoch 7. August 2019, 08:40
von __blackjack__
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. 🙂