Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

XmlWriter.WriteProcessingInstruction méthode (String, String)

 

Date de publication : novembre 2016

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

Espace de noms:   System.Xml
Assembly:  System.Xml (dans System.Xml.dll)

public abstract void WriteProcessingInstruction(
	string name,
	string text
)

Paramètres

name
Type: System.String

Nom de l'instruction de traitement.

text
Type: System.String

Texte à inclure dans l'instruction de traitement.

Exception Condition
ArgumentException

Le texte entraînerait un document XML incorrect.

name est soit null ou String.Empty.

Cette méthode est utilisée pour créer une déclaration XML après WriteStartDocument a déjà été appelée.

InvalidOperationException

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

Cette méthode peut être utilisée pour écrire la déclaration XML (au lieu de WriteStartDocument). Cela peut entraîner une écriture incorrecte de l’attribut de codage. Par exemple, le code c# suivant entraînerait un document XML non valide, car le codage par défaut est UTF-8.

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

Si text est null ou String.Empty, cette méthode écrit un ProcessingInstruction sans données de contenu, par exemple < ? nom ? >.

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

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

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

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

}

Plateforme Windows universelle
Disponible depuis 8
.NET Framework
Disponible depuis 1.1
Bibliothèque de classes portable
Pris en charge dans : plateformes .NET portables
Silverlight
Disponible depuis 2.0
Silverlight pour Windows Phone
Disponible depuis 7.0
Windows Phone
Disponible depuis 8.1
Retour au début
Afficher: