gpt4 book ai didi

XML SelectSingleNode 区分大小写

转载 作者:行者123 更新时间:2023-12-02 12:11:04 28 4
gpt4 key购买 nike

在验证 XML 文件中的 ID 时,它区分大小写。我添加了“翻译”以使其不区分大小写。以下是我的代码:

$Config = "xmlfile"
[xml]$configxml = Get-Content $config
$siteId = "Test"
$Siteid = $Siteid.ToLower()

$siteinfo = $configxml.SelectSingleNode("/configuration/environment[translate(@id='$($siteId)'])");

if(!$siteinfo)
{
Write-Host "id specified '$siteId' not found in '$config' Aborting..."
exit -1
}
else
{
Write-Host "site id is present"
}

我收到以下错误:

id specified 'Test' not found in 'xmlfile' Aborting...

这是我的 xml 文件:

<configuration>

<!-- TEST -->
<environment id="TEST">
<client>ABC</client>
<type>Test</type>
<filetype>ALL</filetype>
<enable>yes</enable>
</environment>

</configuration>

有人可以建议我可能的解决方案如何使其不区分大小写以及如何使用“翻译”吗?

最佳答案

如果 XML 文件有问题( ToLower() 不够),您可以使用 translate() 像这样将 XML 值中的大写字母交换为小写字母。

translate(Value, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')

我个人开始将 XML 处理转移到 System.Xml.Linq 。更加灵活。仍然很快,但一旦掌握了窍门就会变得更简单。

关于XML SelectSingleNode 区分大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39108535/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com