XmlNamespaceManager.PushScope Método

Definição

Efetua push em um escopo de namespace para a pilha.Pushes a namespace scope onto the stack.

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 ao XmlNamespaceManager e, em seguida, exibe todos os pares na coleção.The following example adds prefix/namespace pairs to the XmlNamespaceManager and then displays all the pairs in the collection.

#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

Depois de uma chamada para esse método, todos os namespaces, que são adicionados ao XmlNamespaceManager (chamando AddNamespace ), pertencem ao escopo de namespace enviado por push.After a call to this method, all namespaces, which are added to XmlNamespaceManager (by calling AddNamespace), belong to the pushed namespace scope.

Aplica-se a

Confira também