2010-11-30 33 views
2

Je suis en train de générer cette chaîne doctype:xmlwriter writedoctype formatage

<!DOCTYPE games SYSTEM "transform.dtd"> 

C'est ce que j'ai essayé:

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

Je ne suis pas tout à fait sûr comment obtenir cette exacte ligne.

Répondre

6

Il y a un bug connu dans PowerShell: passing null to a string parameter results in a String.Empty instead of null.

Vous pouvez travailler autour d'elle comme ceci:

# 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()