2010-11-30 15 views
2

Ich versuche, dieses Doctype Zeichenfolge zu generieren:xmlwriter writedoctype Formatierung

<!DOCTYPE games SYSTEM "transform.dtd"> 

Dies ist, was ich habe versucht worden:

$writer.WriteDocType("games", $null , "transform.dtd", $null) 

Ich bin nicht ganz sicher, wie das bekommen genau Linie.

Antwort

6

Es ist ein bekannter Fehler in Powershell: passing null to a string parameter results in a String.Empty instead of null.

Sie können wie folgt um es:

# Given an XML writer of some sort ... 
$writer = [system.xml.xmlwriter]::create("$pwd\test.xml") 

# Set up the parameters you want to pass to the method: 
$params = @("games",$null,"transform.dtd",$null) 

# And invoke it using .Net reflection: 
$writer.GetType().GetMethod("WriteDocType").Invoke($writer,$params) 

# Eventually, close the writer: 
$writer.Close()