XMLのリストを返して、それぞれに特定のノードが存在するかどうかを調べるのに問題があります。Powershell v2.0 - XMLノードを照会する
「パスワード」という特定のXMLノードを持っているか持っていない従業員ファイルのリストがあります。パスワードノードがXMLに存在する場合、それは新規従業員です。さもなければ、更新ノードになります。以下のスクリプトの試行では、同じ結果を返すだけで、テストのためにXMLのバリエーションがあることがわかります。
<?xml version="1.0"?>
-<EnterpriseDocument CreationTimestamp="2016-07-18T09:44:39">
-<BusinessUnitList>
-<BusinessUnit id="4086">
-<User id="1234567" lastName="Sample" firstName="Sample" password="Password1234">
</User>
</BusinessUnit>
</BusinessUnitList>
$Path = gc 'c:\temp\importexport\*.xml'
Foreach ($xml in $Path) {
$xmldata = [xml]$xml
$Password = $XMLData.SelectSingleNode("//BusinessUnitList/BusinessUnit/User/Password")
If ($Password)
{Write-host "New Employee"}
Else
{write-host "Employee Update"}
}
私はバリエーションを試してみましたが、実験が、私は探しています混在結果を得るように見えることはできませんしています。私がここで間違っていることはありますか?
あなたのXMLでは、 'password'がノードではない、それは属性です。 – Eris