форматирование xmlwriter writedoctype - PullRequest
2 голосов
/ 30 ноября 2010

Я пытаюсь сгенерировать эту строку типа документа:

<!DOCTYPE games SYSTEM "transform.dtd">

Это то, что я пытался:

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

Я не совсем уверен, как это получитьточная линия.

1 Ответ

6 голосов
/ 30 ноября 2010

В PowerShell есть известная ошибка: передача нулевого значения в строковый параметр приводит к String.Empty вместо нулевого.

Вы можете обойти это так:

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