Lire en anglais

Partager via


XmlWriter.WriteProcessingInstruction(String, String) Méthode

Définition

En cas de substitution dans une classe dérivée, écrit une instruction de traitement avec un espace entre le nom et le texte : <?name text?>.

C#
public abstract void WriteProcessingInstruction (string name, string text);
C#
public abstract void WriteProcessingInstruction (string name, string? text);

Paramètres

name
String

Nom de l'instruction de traitement.

text
String

Texte à inclure dans l'instruction de traitement.

Exceptions

Le texte est à l'origine d'un document XML incorrect.

name a la valeur null ou String.Empty.

Cette méthode permet de créer une déclaration XML après l'appel de WriteStartDocument().

Une méthode XmlWriter a été appelée avant la fin d’une opération asynchrone précédente. Dans ce cas, l’exception InvalidOperationException est levée avec le message « Une opération asynchrone est déjà en cours ».

Exemples

L’exemple suivant écrit un fichier XML représentant un livre.

C#
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();
  }
}

Remarques

Cette méthode peut être utilisée pour écrire la déclaration XML (plutôt que WriteStartDocument). Cela peut entraîner l’écriture incorrecte de l’attribut d’encodage. Par exemple, le code C# suivant entraîne un document XML non valide, car l’encodage par défaut est UTF-8.

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

S’il text s’agit null de l’un ou l’autre, String.Emptycette méthode écrit un ProcessingInstruction contenu de données sans contenu de données, par exemple <?name?>.

Si le texte contient une séquence non valide de « ?> », le XmlWriter texte peut lever un ArgumentException (XmlTextWriter objets) ou insérer un espace « ? > » pour éviter d’écrire du code XML non valide (XmlWriter objets créés par la Create méthode).

Pour obtenir la version asynchrone de cette méthode, consultez WriteProcessingInstructionAsync.

S’applique à

Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0