Powershell bestimmtes XML Element auslesen
Hi@PS Profi's,
Ein Entry ist wiefolgt aufgebaut:
Wenn ich nun im Datagrid mir eine Zeile aussuche will ich mir den passenden Ort aus dem XML holen.
Das $value bleibt allerdings bisher leer. ;(
Alternative:
Will auch nicht. Hier kommt er mir mit folgender Fehlermeldung:
Gruß vom H41mSh1C0r
$value = select-Xml $global:xmlEntriesFile -XPath "//Entry[@Number=$_.RowIndex]/ablage" | select innerxml
Write-Host $value
Ein Entry ist wiefolgt aufgebaut:
<Entry Number="1">
<typ>A</typ>
<version>2</version>
<datum>12.12.2015</datum>
<ablage>Ort</ablage>
</Entry>
Wenn ich nun im Datagrid mir eine Zeile aussuche will ich mir den passenden Ort aus dem XML holen.
Das $value bleibt allerdings bisher leer. ;(
Alternative:
$Ablage = ($global:EntriesXML.SelectSingleNode('//Entry[@Number=$_.RowIndex]/ablage')).InnerText
Write-Host $Ablage
Will auch nicht. Hier kommt er mir mit folgender Fehlermeldung:
ERROR: Exception calling "SelectSingleNode" with "1" argument(s): "Namespace Manager or XsltContext needed. This query has a prefix, variable, or user-defined
ERROR: function."
Gruß vom H41mSh1C0r
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 294184
Url: https://administrator.de/forum/powershell-bestimmtes-xml-element-auslesen-294184.html
Ausgedruckt am: 17.04.2025 um 06:04 Uhr
6 Kommentare
Neuester Kommentar

Moin Schisser,
Gruß jodel32
Zitat von @H41mSh1C0R:
Will auch nicht. Hier kommt er mir mit folgender Fehlermeldung:
Das ist dein Hinweis, deine XML-Datei hat einen Namespace, den wir hier leider nicht sehen können. Dieser muss als weiterer Parameter beim parsen einer XML-Datei mit SelectSingleNode angegeben werden! Also poste mal die komplette XML-Datei mit Header, dann mach ich dir ein Beispiel wie das mit Namespace funktioniert.Will auch nicht. Hier kommt er mir mit folgender Fehlermeldung:
> ERROR: Exception calling "SelectSingleNode" with "1" argument(s): "Namespace Manager or XsltContext needed. This query has a prefix, variable, or user-defined
> ERROR: function."
>
Gruß jodel32

Wat willste denn, geht doch ...
Ausgabe
$xml = [xml]@"
<?xml version="1.0" encoding="utf-8"?>
<inhalt>
<elements>
<Entry Number="1">
<typ>A</typ>
<version>2</version>
<datum>12.12.2015</datum>
<ablage>Ort</ablage>
</Entry>
</elements>
</inhalt>
"@
$xml.SelectSingleNode("//Entry[@Number=1]/ablage").InnerText
Ausgabe
Ort

Ach ich sehs ...du hast einfache Hochkommas benutzt, darin werden keine Variablen aufgelöst
!
Das muss so
Das muss so
........ SelectSingleNode("//Entry[@Number=$($_.RowIndex)]/ablage")