如何在XML文档中使用方法contain?

如何在XML文档中使用方法contain?,xml,powershell,Xml,Powershell,我想使用XML文档进行映射。我使用方法contain来映射。我尝试了以下代码: $ID\u Unit=“1234” $Flag\u Path=“D:\Auto\File602.XML” [xml]$Read=获取内容$Flag\u路径 $All_ID=$Read.Title.Unit $Map\u ID=$All\u ID |其中对象{$\u.Contains(“$ID\u Unit”)} 如果($Map\u ID){ 写入主机“匹配” }否则{ 写入主机“不匹配” } 但它返回以下错误: 方

我想使用XML文档进行映射。我使用方法contain来映射。我尝试了以下代码:

$ID\u Unit=“1234”
$Flag\u Path=“D:\Auto\File602.XML”
[xml]$Read=获取内容$Flag\u路径
$All_ID=$Read.Title.Unit
$Map\u ID=$All\u ID |其中对象{$\u.Contains(“$ID\u Unit”)}
如果($Map\u ID){
写入主机“匹配”
}否则{
写入主机“不匹配”
}
但它返回以下错误:

方法调用失败,因为[System.Xml.XmlElement]不包含名为“Contains”的方法

这是我的XML文档,看起来像:


1234
5678
与上述注释一样,您可以使用检查特定值(而不是PowerShells
-包含
运算符)

例如:

$ID_Unit = "1234"
$xml = [xml] (Get-Content "test.xml")
$units = @($xml.SelectNodes("//Unit/*[text()=$ID_Unit]"))
if ($units.Count -gt 0){
    Write-Host "Text found"
}
这解释了XPATh
text()
操作。

$\InnerText.Contains()
,但您可能更希望执行
$Map\u ID=$All\u ID.SelectNodes(“/*[..=$ID\u Unit]”