Я пытаюсь сгенерировать эту строку типа документа:
<!DOCTYPE games SYSTEM "transform.dtd">
Это то, что я пытался:
$writer.WriteDocType("games", $null , "transform.dtd", $null )
Я не совсем уверен, как это получитьточная линия.
В 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()