【发布时间】:2014-05-31 02:39:43
【问题描述】:
我有一个用于生成 xml 文件的 powershell 脚本。
我的脚本如下:
$filePath= "C:\Powershell\Report.xml"
if(Test-Path $filePath)
{
Remove-Item $filePath
}
#set encoding
$encoding = [System.Text.Encoding]::UTF8
# Create The Document
$XmlWriter = New-Object System.XMl.XmlTextWriter($filePath,$encoding)
# Set The Formatting
$xmlWriter.Formatting = "Indented"
$xmlWriter.Indentation = "4"
# Write the XML Decleration
$xmlWriter.WriteStartDocument()
SetNamespace($xmlWriter)
# Write Root Element
$xmlWriter.WriteStartElement($RootElement)
#set Root Element namespaces
SetRootElementNamespace($xmlWriter)
#Create <my:PruefAuftragHeader>
$Ablagenummer = "234"
$Beschrieb = "This is testing"
$Auftraggeber = @("ADAMS","Alu König Stahl","Caradon")
CreatePruefAuftragHeader($xmlWriter ,$Ablagenummer)
Function CreatePruefAuftragHeader([System.Xml.XmlTextWriter] $xmlWriter ,[String] $Ablagenummer)
{
$xmlWriter.WriteStartElement($PruefAuftragHeaderElement) # opening <my:PruefAuftragHeader>
$xmlWriter.WriteElementString($AblagenummerElement,$Ablagenummer)
$xmlWriter.WriteElementString($BeschriebElement,$Beschrieb)
foreach($elem in $Auftraggeber)
{
$xmlWriter.WriteElementString($AuftraggeberElement,$elem)
}
$xmlWriter.WriteEndElement #closing <my:PruefAuftragHeader>
}
当执行到达行时:CreatePruefAuftragHeader($xmlWriter ,$Ablagenummer) 它会抛出一个错误:Cannot process argument transformation on parameter 'xmlWriter'. Cannot convert the "System.Object[]" value of type "System.Object[]" to type
"System.Xml.XmlTextWriter".
我应该怎么做才能解决这个错误?
【问题讨论】:
标签: xml function powershell parameter-passing