XmlNamespaceManager.PushScope Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Efetua push em um escopo de namespace para a pilha.
public:
virtual void PushScope();
public virtual void PushScope ();
abstract member PushScope : unit -> unit
override this.PushScope : unit -> unit
Public Overridable Sub PushScope ()
Exemplos
O exemplo a seguir adiciona pares de prefixo/namespace e XmlNamespaceManager , em seguida, exibe todos os pares na coleção.
#using <System.Xml.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
public ref class Sample
{
public:
Sample()
{
// Create the XmlNamespaceManager.
NameTable^ nt = gcnew NameTable;
XmlNamespaceManager^ nsmgr = gcnew XmlNamespaceManager( nt );
// Add prefix/namespace pairs to the XmlNamespaceManager.
nsmgr->AddNamespace( "", "www.wideworldimporters.com" ); //Adds a default namespace.
nsmgr->AddNamespace( "europe", "www.wideworldimporters.com/europe" );
nsmgr->PushScope(); //Pushes a namespace scope on the stack.
nsmgr->AddNamespace( "", "www.lucernepublishing.com" ); //Adds another default namespace.
nsmgr->AddNamespace( "partners", "www.lucernepublishing.com/partners" );
Console::WriteLine( "Show all the prefix/namespace pairs in the XmlNamespaceManager..." );
ShowAllNamespaces( nsmgr );
}
private:
void ShowAllNamespaces( XmlNamespaceManager^ nsmgr )
{
do
{
System::Collections::IEnumerator^ myEnum = nsmgr->GetEnumerator();
while ( myEnum->MoveNext() )
{
String^ prefix = safe_cast<String^>(myEnum->Current);
Console::WriteLine( "Prefix={0}, Namespace={1}", prefix, nsmgr->LookupNamespace( prefix ) );
}
}
while ( nsmgr->PopScope() );
}
};
int main()
{
gcnew Sample;
}
using System;
using System.IO;
using System.Xml;
public class Sample
{
public static void Main()
{
Sample test = new Sample();
}
public Sample()
{
// Create the XmlNamespaceManager.
NameTable nt = new NameTable();
XmlNamespaceManager nsmgr = new XmlNamespaceManager(nt);
// Add prefix/namespace pairs to the XmlNamespaceManager.
nsmgr.AddNamespace("", "www.wideworldimporters.com"); //Adds a default namespace.
nsmgr.AddNamespace("europe", "www.wideworldimporters.com/europe");
nsmgr.PushScope(); //Pushes a namespace scope on the stack.
nsmgr.AddNamespace("", "www.lucernepublishing.com"); //Adds another default namespace.
nsmgr.AddNamespace("partners", "www.lucernepublishing.com/partners");
Console.WriteLine("Show all the prefix/namespace pairs in the XmlNamespaceManager...");
ShowAllNamespaces(nsmgr);
}
private void ShowAllNamespaces(XmlNamespaceManager nsmgr)
{
do{
foreach (String prefix in nsmgr)
{
Console.WriteLine("Prefix={0}, Namespace={1}", prefix,nsmgr.LookupNamespace(prefix));
}
}
while (nsmgr.PopScope());
}
}
Option Explicit
Option Strict
Imports System.IO
Imports System.Xml
Public Class Sample
Public Shared Sub Main()
Dim test As New Sample()
End Sub
Public Sub New()
' Create the XmlNamespaceManager.
Dim nt As New NameTable()
Dim nsmgr As New XmlNamespaceManager(nt)
' Add prefix/namespace pairs to the XmlNamespaceManager.
nsmgr.AddNamespace("", "www.wideworldimporters.com") 'Adds a default namespace.
nsmgr.AddNamespace("europe", "www.wideworldimporters.com/europe")
nsmgr.PushScope() 'Pushes a namespace scope on the stack.
nsmgr.AddNamespace("", "www.lucernepublishing.com") 'Adds another default namespace.
nsmgr.AddNamespace("partners", "www.lucernepublishing.com/partners")
Console.WriteLine("Show all the prefix/namespace pairs in the XmlNamespaceManager...")
ShowAllNamespaces(nsmgr)
End Sub
Private Sub ShowAllNamespaces(nsmgr As XmlNamespaceManager)
Do
Dim prefix As String
For Each prefix In nsmgr
Console.WriteLine("Prefix={0}, Namespace={1}", prefix, nsmgr.LookupNamespace(prefix))
Next prefix
Loop While nsmgr.PopScope()
End Sub
End Class
Comentários
Após uma chamada a esse método, todos os namespaces, que são adicionados XmlNamespaceManager (chamando AddNamespace), pertencem ao escopo do namespace enviado por push.