XmlDocument::CreateProcessingInstruction Method (String^, String^)


Creates an XmlProcessingInstruction with the specified name and data.

Namespace:   System.Xml
Assembly:  System.Xml (in System.Xml.dll)

virtual XmlProcessingInstruction^ CreateProcessingInstruction(
	String^ target,
	String^ data


Type: System::String^

The name of the processing instruction.

Type: System::String^

The data for the processing instruction.

Return Value

Type: System.Xml::XmlProcessingInstruction^

The new XmlProcessingInstruction.

Although this method creates the new object in the context of the document, it does not automatically add the new object to the document tree. To add the new object, you must explicitly call one of the node insert methods.

According to the W3C Extensible Markup Language (XML) 1.0 recommendation (www.w3.org/TR/1998/REC-xml-19980210), ProcessingInstruction nodes are only allowed within Document, Element, and EntityReference nodes, when the EntityReference node is not a child of an Attribute node.

The following example creates a ProcessingInstruction node and adds it to the document.

#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
   XmlDocument^ doc = gcnew XmlDocument;

   // Create a procesing instruction.
   XmlProcessingInstruction^ newPI;
   String^ PItext = "type='text/xsl' href='book.xsl'";
   newPI = doc->CreateProcessingInstruction( "xml-stylesheet", PItext );

   // Display the target and data information.
   Console::WriteLine( "<?{0} {1}?>", newPI->Target, newPI->Data );

   // Add the processing instruction node to the document.
   doc->AppendChild( newPI );

Universal Windows Platform
Available since 10
.NET Framework
Available since 1.1
Return to top