Freigeben über


XmlWriter.WriteProcessingInstruction-Methode

Schreibt beim Überschreiben in einer abgeleiteten Klasse eine Verarbeitungsanweisung mit einem Leerzeichen zwischen dem Namen und dem Text wie folgt: <?name text?>.

Namespace: System.Xml
Assembly: System.Xml (in system.xml.dll)

Syntax

'Declaration
Public MustOverride Sub WriteProcessingInstruction ( _
    name As String, _
    text As String _
)
'Usage
Dim instance As XmlWriter
Dim name As String
Dim text As String

instance.WriteProcessingInstruction(name, text)
public abstract void WriteProcessingInstruction (
    string name,
    string text
)
public:
virtual void WriteProcessingInstruction (
    String^ name, 
    String^ text
) abstract
public abstract void WriteProcessingInstruction (
    String name, 
    String text
)
public abstract function WriteProcessingInstruction (
    name : String, 
    text : String
)

Parameter

  • name
    Der Name der Verarbeitungsanweisung.
  • text
    Der in die Verarbeitungsanweisung einzufügende Text.

Ausnahmen

Ausnahmetyp Bedingung

ArgumentException

Der Text ergibt kein wohlgeformtes XML-Dokument.

name ist entweder NULL (Nothing in Visual Basic) oder String.Empty.

Diese Methode wird zum Erstellen einer XML-Deklaration nach einem Aufruf von WriteStartDocument verwendet.

Hinweise

Die XML-Deklaration kann mit dieser Methode und nicht mit WriteStartDocument geschrieben werden. Letzteres könnte dazu führen, dass das Codierungsattribut fehlerhaft geschrieben wird. Beispielsweise würde der folgende C#-Code zu einem ungültigen XML-Dokument führen, da die Standardcodierung UTF-8 ist.

XmlWriter writer = XmlWriter.Create("output.xml");
writer.WriteProcessingInstruction("xml", "version='1.0', encoding='UTF-16'");
writer.WriteStartElement("root");
writer.Close();

Wenn text entweder NULL (Nothing in Visual Basic) oder String.Empty ist, schreibt diese Methode eine ProcessingInstruction ohne Dateninhalt, z. B. <?name?>.

Wenn der Text eine ungültige Folge von "?>" enthält, kann der XmlWriter entweder eine ArgumentException auslösen (XmlTextWriter-Objekte) oder ein Leerzeichen einfügen ("? > "), um das Schreiben von ungültigem XML-Code zu vermeiden (von der Create-Methode erstellte XmlWriter-Objekte).

Beispiel

Im folgenden Beispiel wird eine XML-Datei geschrieben, die ein Buch darstellt.

Option Strict
Option Explicit

Imports System
Imports System.IO
Imports System.Xml

Public Class Sample
    Private Const filename As String = "sampledata.xml"
    
  Public Shared Sub Main()

     Dim settings As XmlWriterSettings = new XmlWriterSettings()
     settings.Indent = true
     Dim writer As XmlWriter = XmlWriter.Create(filename, settings)
        
     ' Write the Processing Instruction node.
     Dim PItext As String = "type=""text/xsl"" href=""book.xsl"""
     writer.WriteProcessingInstruction("xml-stylesheet", PItext)
        
     'Write the DocumentType node.
     writer.WriteDocType("book", Nothing, Nothing, "<!ENTITY h ""hardcover"">")
        
     ' Write a Comment node.
     writer.WriteComment("sample XML")
        
     ' Write the root element.
     writer.WriteStartElement("book")
        
     ' Write the genre attribute
     writer.WriteAttributeString("genre", "novel")
        
     ' Write the ISBN attribute.
     writer.WriteAttributeString("ISBN", "1-8630-014")
        
     ' Write the title.
     writer.WriteElementString("title", "The Handmaid's Tale")
        
     ' Write the style element.
     writer.WriteStartElement("style")
     writer.WriteEntityRef("h")
     writer.WriteEndElement()
       
     ' Write the price.
     writer.WriteElementString("price", "19.95")
        
     ' Write CDATA.
     writer.WriteCData("Prices 15% off!!")
        
     ' Write the close tag for the root element.
     writer.WriteEndElement()
        
     writer.WriteEndDocument()
        
     ' Write the XML to file and close the writer
     writer.Flush()
     writer.Close()
        
    End Sub 'Main 
End Class 'Sample
using System;
using System.IO;
using System.Xml;

public class Sample {

  private const string filename = "sampledata.xml";

  public static void Main() {
  
     XmlWriterSettings settings = new XmlWriterSettings();
     settings.Indent = true;
     XmlWriter writer = XmlWriter.Create(filename, settings);

     // Write the Processing Instruction node.
     String PItext="type=\"text/xsl\" href=\"book.xsl\"";
     writer.WriteProcessingInstruction("xml-stylesheet", PItext);

     // Write the DocumentType node.
     writer.WriteDocType("book", null , null, "<!ENTITY h \"hardcover\">");
        
     // Write a Comment node.
     writer.WriteComment("sample XML");
    
     // Write the root element.
     writer.WriteStartElement("book");

     // Write the genre attribute.
     writer.WriteAttributeString("genre", "novel");
    
     // Write the ISBN attribute.
     writer.WriteAttributeString("ISBN", "1-8630-014");

     // Write the title.
     writer.WriteElementString("title", "The Handmaid's Tale");
              
     // Write the style element.
     writer.WriteStartElement("style");
     writer.WriteEntityRef("h");
     writer.WriteEndElement(); 

     // Write the price.
     writer.WriteElementString("price", "19.95");

     // Write CDATA.
     writer.WriteCData("Prices 15% off!!");

     // Write the close tag for the root element.
     writer.WriteEndElement();
             
     writer.WriteEndDocument();

     // Write the XML to file and close the writer.
     writer.Flush();
     writer.Close();  
  }

}

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

XmlWriter-Klasse
XmlWriter-Member
System.Xml-Namespace

Weitere Ressourcen

Schreiben von XML mit dem "XmlWriter"