System.Xml.XmlWriter.WriteProcessingInstruction 方法

方法描述

当在派生类中被重写时,写出在名称和文本之间带有空格的处理指令,如下所示:

语法定义(C# System.Xml.XmlWriter.WriteProcessingInstruction 方法 的用法)

public abstract void WriteProcessingInstruction(
	string name,
	string text
)

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
name System-String 处理指令的名称。
text System-String 要包括在处理指令中的文本。
返回值 void

提示和注释

此方法可用于编写 XML 声明(而不是 WriteStartDocument)。 这可能导致不正确地编写编码特性。 例如,由于默认编码为 UTF-8,下面的 C# 代码将导致无效 XML 文档。

复制

XmlWriter writer = XmlWriter.Create("output.xml");

writer.WriteProcessingInstruction("xml", "version='1.0' encoding='UTF-16'");

writer.WriteStartElement("root");

writer.Close();

如果 text 为 null 或 String.Empty,则此方法编写没有数据内容的注释 ProcessingInstruction,例如

如果文本包含无效序列“?>”,则 XmlWriter 可以引发 ArgumentException(XmlTextWriter 对象)或插入空白“? >”以避免编写无效 XML(Create 方法创建的 XmlWriter 对象)。

System.Xml.XmlWriter.WriteProcessingInstruction 方法例子

下面的示例编写一个表示书的 XML 文件。

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, "");

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

}

异常

异常 异常描述
ArgumentException 该文本将导致格式不正确的 XML 文档。 name 为 null 或 String.Empty。 调用了 WriteStartDocument 后,使用此方法创建 XML 声明。

命名空间

namespace: System.Xml

程序集: System.Xml(在 System.Xml.dll 中)

版本信息

.NET Framework 受以下版本支持:4、3.5、3.0、2.0、1.1、1.0 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1 受以下版本支持:

适用平台

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。