我是Powershell的新手。我必须使用USER_AUTH_PARIS编辑“ connection.username”行。我必须使用powershell编辑xml文件。我的xml文件看起来像这样。
我已经尝试过使用xpath,但是无法获得预期的结果
应使用USER_AUT_PARIS而不是USER_AUT编辑文件
答案 0 :(得分:0)
XML和XPath区分大小写,因此Select-XML $xmlopen -Xpath "//Property Name"
不起作用。首先,它应该是//property
并且属性部分也不正确。
使用[@attribute='value']
语法使用适当的大小写和访问属性,
Select-Xml $x -Xpath "//property[@name='connection.username']"
Node Path Pattern
---- ---- -------
property InputStream //property[@name='connection.username']
要进行修改,请选择适当的节点并将新值分配到其Node.#text
元素中。注意'#text'
周围的引号,因为#
是Powershell中的注释字符。跳过错误检查,就像这样
(Select-Xml $x -Xpath "//property[@name='connection.username']").Node.'#text' = 'user_auth_paris'
$x.save([console]::out)
<?xml version="1.0" encoding="IBM437"?>
<InitFile version="1.0">
<session-factory>
<property name="connection.username">user_auth_paris</property>
</session-factory>
</InitFile>