【发布时间】:2011-08-22 06:37:01
【问题描述】:
Powershell 似乎在使用带有 unicode BOM 的 xml 文件 - 代码:
$xml = [xml]{ get-content $filename }
出现“根级别的数据无效”。
有没有一种简单的方法可以做到这一点而无需摆弄文件的内容?
【问题讨论】:
标签: xml powershell byte-order-mark
Powershell 似乎在使用带有 unicode BOM 的 xml 文件 - 代码:
$xml = [xml]{ get-content $filename }
出现“根级别的数据无效”。
有没有一种简单的方法可以做到这一点而无需摆弄文件的内容?
【问题讨论】:
标签: xml powershell byte-order-mark
您正试图在此处将脚本块转换为 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
您注意到脚本块的内容是如何显示在错误消息中的吗?
【讨论】: