XmlTextWriter::WriteProcessingInstruction Method (String^, String^)
Writes out a processing instruction with a space between the name and text as follows: <?name text?>.
Assembly: System.Xml (in System.Xml.dll)
Parameters
- name
-
Type:
System::String^
Name of the processing instruction.
- text
-
Type:
System::String^
Text to include in the processing instruction.
| Exception | Condition |
|---|---|
| ArgumentException | The text would result in a non-well formed XML document. name is either null or String.Empty. This method is being used to create an XML declaration after WriteStartDocument has already been called. |
Note |
|---|
Starting with the .NET Framework 2.0, we recommend that you create XmlWriter instances by using the XmlWriter::Create method and the XmlWriterSettings class to take advantage of new functionality. |
If text is either null or String.Empty, this method writes a ProcessingInstruction with no data content, for example <?name?>.
The following example writes an XML file representing a book.
#using <System.Xml.dll> using namespace System; using namespace System::IO; using namespace System::Xml; int main() { XmlTextWriter^ writer = nullptr; String^ filename = "sampledata.xml"; writer = gcnew XmlTextWriter( filename, nullptr ); //Use indenting for readability. writer->Formatting = Formatting::Indented; //Write the XML delcaration. writer->WriteStartDocument(); //Write the ProcessingInstruction node. String^ PItext = "type='text/xsl' href='book.xsl'"; writer->WriteProcessingInstruction( "xml-stylesheet", PItext ); //Write the DocumentType node. writer->WriteDocType( "book", nullptr, nullptr, "<!ENTITY h 'hardcover'>" ); //Write a Comment node. writer->WriteComment( "sample XML" ); //Write a 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(); //Load the file into an XmlDocument to ensure well formed XML. XmlDocument^ doc = gcnew XmlDocument; //Preserve white space for readability. doc->PreserveWhitespace = true; //Load the file. doc->Load( filename ); //Display the XML content to the console. Console::Write( doc->InnerXml ); }
Available since 1.1
