none
In einer Nfo-Datei ein Element entfernen RRS feed

  • Frage

  • Hallo zusammen,

    beiße mich mal wieder an einem Problem die Zähne aus.

    Habe eine .nfo Datei mit einer XML-Strukutur.

    In diesem Dokument möchte ich eine komplette Zeile löschen. Der Inhalt variert immer. Nur die Bezeichnung für das Element und die Attribute bleiben immer gleich.

    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    <movie>
        <playcount>0</playcount>
        <lastplayed></lastplayed>
        <id>tt0977855</id>
        <uniqueid type="unknown" default="true">tt0977855</uniqueid>
        <genre>Drama</genre>
    <movie>   


    Löschen möchte ich die komplette Zeile mit dem Element "uniqueid".

    Für meine 2 Versuche habe ich folgende Variablen benutzt

    ## Setzen einen Pfad
    $Path = 'C:\Workzone\xml.nfo'

    ## Laden die Datei
    $xml = [xml](Get-Content $Path)

    Hier kommt nun der 1. Versuch:

    $xml.movie.thumb.RemoveAttribute('type')
    $xml.movie.thumb.RemoveAttribute('default')
    $xml.Save($Path)

    <# hier versuchte ich nur den Inhalt zu löschen, damit am Ende "<uniqueid></uniqueid>" steht#>

    Der 2. Versuch, hier wollte ich die komplette Zeile löschen

    $xml.RemoveChild("uniqueid")
    $xml.Save($Path)

    Könnt ihr mir bitte helfen?

    Danke

    Viele Grüße

    svensus




    Dienstag, 1. August 2017 08:33

Antworten

  • Probier ma:
    $xml.movie.uniqueid.RemoveAll()


    Grüße - Best regards

    PS:> (79,108,97,102|%{[char]$_})-join''

    • Als Antwort markiert Svensus Mittwoch, 2. August 2017 08:11
    Dienstag, 1. August 2017 08:53
  • Du willst einen Knoten und kein Attribut entfernen:

    http://jon.netdork.net/2013/01/09/removing-xml-elements-using-powershell/

    • Als Antwort markiert Svensus Mittwoch, 2. August 2017 08:11
    Dienstag, 1. August 2017 10:05

Alle Antworten

  • Probier ma:
    $xml.movie.uniqueid.RemoveAll()


    Grüße - Best regards

    PS:> (79,108,97,102|%{[char]$_})-join''

    • Als Antwort markiert Svensus Mittwoch, 2. August 2017 08:11
    Dienstag, 1. August 2017 08:53
  • Du willst einen Knoten und kein Attribut entfernen:

    http://jon.netdork.net/2013/01/09/removing-xml-elements-using-powershell/

    • Als Antwort markiert Svensus Mittwoch, 2. August 2017 08:11
    Dienstag, 1. August 2017 10:05
  • Hallo Bfuerchau,

    vielen Dank für Deine Antwort.


    Kann leider nur sehr schlecht englisch.
    Auf dieser Seite war ich im Vorfeld auch gewesen, konnte damit aber damit nichts anfangen, da hier ein Knoten mit festem Inhalt gelöscht wird.
    Konnte ich (mangels Wissen) in meinem Fall nicht umsetzen.

    Mittwoch, 2. August 2017 07:47
  • Hallo BOfH_666,

    Deine Lösung hat bei mir gepasst.

    Es löscht zwar nur den Inhalt innerhalb von 'uniqueid', aber für mein Ziel reicht dies vollkommen.

    Mittwoch, 2. August 2017 08:10