Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Powershellskript: Löschen eines XML-Elements schlägt fehl

Mitglied: GabbaGundolf

GabbaGundolf (Level 1) - Jetzt verbinden

27.02.2020 um 19:22 Uhr, 286 Aufrufe, 2 Kommentare

Hallo zusammen,

ich beiße mir gerade an einem Problem die Zähne aus. Vielleicht kann mir hier jemand helfen?

Ich versuche mittels Powershell zwei XML-Dateien miteinander zu vergleichen und in einer dieser in einem bestimmten Block doppelte Einträge zu entfernen.

Ich finde die doppelten Einträge mit dem Skript korrekt heraus, jedoch schlägt das Löschen dieser Elemente mit folgendem Problem fehl.

ERROR: Es ist nicht möglich, eine Methode für einen Ausdruck aufzurufen, der den NULL hat.
ERROR: In C:\Temp\localXML_bereinigen.ps1:48 Zeichen:4
ERROR: + $node = $localxml:Landscape.SelectSingleNode("/Services[@ ...
ERROR: + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ERROR: + CategoryInfo : InvalidOperation: ( [], RuntimeException
ERROR: + FullyQualifiedErrorId : InvokeMethodOnNull

Also ist scheinbar die XPath-Abfrage falsch und liefert kein Ergebnis, aber woran liegts?

Hier die beiden zu vergleichenden Beispiel-XML-Dateien:

globalTest.xml

localTest.xml
Ziel wäre folgendes
localTest.xml (aktualisierte Datei)

Hier der Powershellcode:

Vielen vielen Dank im Voraus!!!

Gruß GabbaGundolf
Mitglied: 143127
LÖSUNG 28.02.2020, aktualisiert um 10:52 Uhr
$node = $localxml:Landscape.SelectSingleNode("/Services[@name='$localService.name']")
Das hat mehrere Fehler und ist übrigens auch überflüssig weil du den Knoten schon über die Variable $localservice vorliegen hast. Erstens der Doppelpunkt hinter der Variablen ist falsch, da kommt ein Punkt hin, und Eigenschaften eines Objekts innerhalb von Anführungszeichen kann man nicht so angeben dazu muss man eine Subexpression nehmen $($localservice.name)

Man kann es sich auch leichter machen und es gleich so wie in diesem Beispiel tun

https://tio.run/##7dNPT8IwFADws/sUzctM9LCxjSFINkBR/AMiUUyMxpC5vcCSrl22Di ...
Bitte warten ..
Mitglied: GabbaGundolf
28.02.2020 um 11:08 Uhr
Hey, vielen vielen Dank für die Lösung!!!

Im Nachhinhein alles logisch, wie du es schreibst. Da war ich ja völlig falsch.
Dein Programmcode hinter dem Link ist genial verkürzt. Ich habe nun mit deinen Hinweisen aber lieber meinen Code angepasst, damit ich den Code selber auch noch in ein paar Wochen verstehe xD

Vielen vielen Dank Dir!!!

Gruß GabbaGundolf
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
BATCH Element aus XML-File auslesen
gelöst Frage von pappkameradBatch & Shell9 Kommentare

Hallo liebe Admins, ich habe schon öfter bei euch vorbeigeschaut und ein immer eine Lösung für meine Problemchen gefunden. ...

VB for Applications

Per vbscript element aus xml datei löschen

gelöst Frage von aletriVB for Applications4 Kommentare

guten abend an alle nun folgt der gegenzug nämlich <Path>C:\Program Files\Lockheed Martin\Prepar3D v4\ATiLibs\scenery</Path> entfernen! Script löscht die Zeile nicht ...

VB for Applications

Per vbscript neues element an xml datei einfügen

gelöst Frage von aletriVB for Applications1 Kommentar

guten abend an alle das xml file, dass dieser script bearbeitet sieht leer so aus: <?xml version="1.0"?> -<DynPlacement.Document> -<Config> ...

Windows Tools

Powershellskript in CSV ausgeben

Frage von elt0nWindows Tools2 Kommentare

Hi, ich würde mir gerne folgendes Script in ne CSV ausgeben lassen: Mit ich habe schon versucht mal testweise ...

Neue Wissensbeiträge
Informationsdienste

Leistungsschutzrecht: Ein neuer Diskussionsentwurf liegt vor

Information von Frank vor 2 TagenInformationsdienste12 Kommentare

Anfang April (leider kein Scherz) hat das Bundesjustizministerium den nächsten ausformulierten Referentenentwurf für ein "erstes Gesetz zur Anpassung des ...

Instant Messaging

Videokonferenz oder Chatsystem für das Homeoffice

Information von Frank vor 2 TagenInstant Messaging6 Kommentare

Ich hatte es bereits in einem Kommentar gepostet, da ich aber viele Nachfragen dazu bekam, hier noch mal meine ...

Off Topic

Ein wenig Aufklärung über Corona von Bill Gates persönlich

Information von Frank vor 3 TagenOff Topic24 Kommentare

Amerika hat ein Problem: Die Arroganz des sehr klugen Präsidenten führte zur aktuellen Corona-Krise in den USA. Was jetzt ...

Off Topic
3D-Drucker gegen Corona - helft mit!
Information von DerWoWusste vor 3 TagenOff Topic12 Kommentare

Unter vorigem Link sind Anleitungen, wie man sich mit seinem 3D-Drucker an der Produktion (Druck) von Bauteilen für Atemmasken ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Lokale IP-Adresse
Frage von Kuerbis2020LAN, WAN, Wireless36 Kommentare

Lokale IP-Adresse: Woher bezieht Mein PC seine lokale IP-Adresse? Nenne den Namen des Dienstes und wo der Dienst installiert ...

Windows Server
Hyper-V VM vorm Admin absichern
Frage von MarabuntaWindows Server20 Kommentare

Hallo, wie bekomme ich eine VM in WS 2012 Hyper-V soweit abgetrennt, dass ein Admin ohne Passwort keinen (leichten) ...

DNS
DNS-Festlegung Windows
Frage von Kuerbis2020DNS12 Kommentare

DNS-Festlegung: Wo kann man das statische DNS festlegen und an welcher stelle wird das vorgenommen? A: Feste IP-Adresse für ...

Windows 10
Treiberupdates via Windows Update - bitte um Praxiserfahrungen
Frage von m.fesslerWindows 109 Kommentare

Hallo zusammen, wie ist eure Erfahrung mit Treiber-Updates über Windows Updates? Wobei meine Frage hauptsächlich "Fremdgeräte" von Familie und ...