XmlWriter.WriteProcessingInstruction(String, String) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Saat ditimpa di kelas turunan, tulis instruksi pemrosesan dengan spasi antara nama dan teks sebagai berikut: <?name text?>.
public:
abstract void WriteProcessingInstruction(System::String ^ name, System::String ^ text);
public abstract void WriteProcessingInstruction(string name, string text);
public abstract void WriteProcessingInstruction(string name, string? text);
abstract member WriteProcessingInstruction : string * string -> unit
Public MustOverride Sub WriteProcessingInstruction (name As String, text As String)
Parameter
- name
- String
Nama instruksi pemrosesan.
- text
- String
Teks yang akan disertakan dalam instruksi pemrosesan.
Pengecualian
Teks akan menghasilkan dokumen XML yang tidak terbentuk dengan baik.
name adalah baik null maupun String.Empty.
Metode ini sedang digunakan untuk membuat deklarasi XML setelah WriteStartDocument() dipanggil.
Metode XmlWriter dipanggil sebelum operasi asinkron sebelumnya selesai. Dalam hal ini, InvalidOperationException dilemparkan dengan pesan "Operasi asinkron sudah berlangsung."
Contoh
Contoh berikut menulis file XML yang mewakili buku.
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();
}
}
Option Strict
Option Explicit
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
End Class
Keterangan
Metode ini dapat digunakan untuk menulis deklarasi XML (bukan WriteStartDocument). Hal ini dapat mengakibatkan atribut pengodean salah ditulis. Misalnya, kode C# berikut akan menghasilkan dokumen XML yang tidak valid karena pengodean default adalah UTF-8.
XmlWriter writer = XmlWriter.Create("output.xml");
writer.WriteProcessingInstruction("xml", "version='1.0' encoding='UTF-16'");
writer.WriteStartElement("root");
writer.Close();
Jika text adalah null atau String.Empty, metode ini menulis ProcessingInstruction tanpa konten data, misalnya <?name?>.
Jika teks berisi urutan "?>" yang tidak valid, XmlWriter dapat melemparkan ArgumentException (XmlTextWriter objek) atau menyisipkan spasi "? >" untuk menghindari penulisan XML yang tidak valid (XmlWriter objek yang dibuat oleh Create metode ).
Untuk versi asinkron dari metode ini, lihat WriteProcessingInstructionAsync.