如何在Powershell中确定XML类型?

gus*_*rom 4 xml powershell types casting

我正在编写一个脚本,该脚本应该查看文件的内容并确定它是否是(格式良好的)XML.我在[ss64.com] [1]上找到了一个页面,这很容易做到:

>32 -is [int]
True
Run Code Online (Sandbox Code Playgroud)

但事情是,我只能通过为XML文件转换左侧来测试它:

>[xml](Get-Content c:\Path\To\xml_file.xml) -is [xml]
False
Run Code Online (Sandbox Code Playgroud)

...在这种情况下,这将是毫无意义的:如果文件是XML,则转换已经证明了这一点,否则抛出异常.因此我想知道:有没有办法以真假的方式确定Powershell中的XML文件?

Sha*_*evy 11

试试-as运营商:

[bool]((Get-Content c:\Path\To\xml_file.xml) -as [xml])
Run Code Online (Sandbox Code Playgroud)