我在尝试返回 XML 列表并确定每个 XML 是否存在特定节点时遇到了麻烦。
我们有一个 Employee 文件列表,这些文件有或没有称为 Password 的特定 XML 节点。如果 XML 中存在 Password 节点,那么它就是一个 New Employee,否则就是一个 Update。在我下面的脚本尝试中,它似乎只返回相同的结果,因为它知道有用于测试的 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"}
}
我已经尝试了变化并进行了实验,但似乎无法获得我正在寻找的混合结果。我在这里做错了吗?