Ich habe eine XML-Datei "1.xml":Wie in Powershell einzelnes XML-Element erhalten
<configuration >
<application>
<name>My Application</name>
</application>
<log level="info" />
</configuration>
und will von "My Application" auf "Namen von Powershell" text in Namen Knoten ändern . Ich kann es wie folgt tun:
$xml = [xml](Get-Content "1.xml");
$nameNode = $xml.configuration.application.ChildNodes.Item(0);
$nameNode.InnerText = "Name from Powershell";
Aber ich weiß nicht, wie die Idee, den Knoten durch den Index zu erhalten. Ich möchte es mit Namen bekommen. Aber diese Varianten für mich nicht funktionieren:
$nameNode = $xml.configuration.application.name;
$nameNode = $xml.SelectSingleNode("//configuration/application/name");
Gibt es eine einfache Art und Weise ein Element mit Namen in Powershell zu bekommen?
'$ xml.configuration.application.name' funktioniert auf jeden Fall, und diese Einstellung auf einen neuen Wert ändert die Elementgehalte. Wenn es "nicht für Sie" funktioniert, müssen Sie genauer angeben, was nicht funktioniert. –