PowerShell:无法将值“ System.Object []”转换为类型“ System.Xml.XmlDocument”

时间:2019-10-25 17:51:19

标签: xml powershell

我遵循example的有关如何使用Powershell解析XML的说明。我复制了示例XML文本的内容,并尝试使用给定的命令进行解析。一切正常。

然后我尝试解析自己的XML文件,但是在发出-X POST命令后,立即出现以下错误:

-X GET

因此,我仅认为XML文件的内容不同会影响Powershell解析XML数据的能力吗?

我的XML文件内容:

[xml]$bar = Get-Content test2.xml

1 个答案:

答案 0 :(得分:1)

该错误消息指出了问题的根源,尽管它没有具体指出问题是 名称(强调):

  

错误:“ '='字符,十六进制值为0   x3D,不能包含在名称 中。第5行,位置19。“

XML中的元素名称(通常为节点名称)本身不能包含=个字符。

相比之下,诸如=之类的标记中的id="lowvol"是属性名称与其值之间的分隔符

您的XML错误地在打开标签的houseCode="CREDITBAAPACLVE" 之后直接使用了这样的令牌-<-,因此houseCode="CREDITBAAPACLVE"被解释为元素名称

解决方案是给您的元素起一个适当的名称,例如house

<house houseCode="CREDITBAAPACLVE" metahouseCode="CREDITBAAPACLVE"/>