3

Powershell 似乎在使用带有 unicode BOM 的 xml 文件 - 代码:

$xml = [xml]{ get-content $filename }

因“根级别的数据无效”而爆炸。

有没有一种简单的方法可以在不摆弄文件内容的情况下做到这一点?

4

1 回答 1

6

您正在尝试在此处将脚本块转换为 XML。使用()代替{}

$xml  = [xml] (gc $filename)

实际上,错误消息已经告诉您很多信息:

PS Home:\> $xml = [xml]{gc test.xml}
Cannot convert value "gc test.xml" to type "System.Xml.XmlDocument". Error: "Data at the root level is invalid. Line 1,
 position 1."
At line:1 char:13
+ $xml = [xml] <<<< {gc test.xml}
    + CategoryInfo          : NotSpecified: (:) [], RuntimeException
    + FullyQualifiedErrorId : RuntimeException

您注意到脚本块的内容是如何显示在错误消息中的吗?

于 2011-05-10T08:24:45.833 回答