Freigeben über


XmlValidatingReader.MoveToElement-Methode

Wechselt zu dem Element, das den aktuellen Attributknoten enthält.

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

Syntax

'Declaration
Public Overrides Function MoveToElement As Boolean
'Usage
Dim instance As XmlValidatingReader
Dim returnValue As Boolean

returnValue = instance.MoveToElement
public override bool MoveToElement ()
public:
virtual bool MoveToElement () override
public boolean MoveToElement ()
public override function MoveToElement () : boolean

Rückgabewert

true, wenn der Reader auf einem Attribut positioniert ist (der Reader wechselt zu dem Element, das das Attribut besitzt); false, wenn der Reader nicht auf einem Attribut positioniert ist (die Position des Readers bleibt unverändert).

Hinweise

Hinweis

Die XmlValidatingReader-Klasse ist in Microsoft .NET Framework, Version 2.0 veraltet. Sie können eine Instanz eines validierenden XmlReader mithilfe der XmlReaderSettings-Klasse und der Create-Methode erstellen. Weitere Informationen finden Sie unter Validieren von XML-Daten mit "XmlReader".

Verwenden Sie diese Methode, um zurück zu einem Element zu wechseln, nachdem Sie dessen Attribute durchsucht haben. Diese Methode verschiebt den Reader zu einem der folgenden Knotentypen: Element, DocumentType oder XmlDeclaration.

Beispiel

Im folgenden Beispiel werden alle Elemente des Stammknotens gelesen.

Option Strict
Option Explicit

Imports System
Imports System.IO
Imports System.Xml

Public Class Sample
    
    Public Shared Sub Main()
        Dim reader As XmlValidatingReader = Nothing
        
        Try
            'Create the string to parse.
            Dim xmlFrag As String = "<book genre='novel' ISBN='1-861003-78' pubdate='1987'></book> "
            
            'Create the XmlNamespaceManager.
            Dim nt As New NameTable()
            Dim nsmgr As New XmlNamespaceManager(nt)
            
            'Create the XmlParserContext.
            Dim context As New XmlParserContext(Nothing, nsmgr, Nothing, XmlSpace.None)
            
            'Create the XmlValidatingReader .
            reader = New XmlValidatingReader(xmlFrag, XmlNodeType.Element, context)
            
            'Read the attributes on the root element.
            reader.MoveToContent()
            If reader.HasAttributes Then
                Dim i As Integer
                For i = 0 To reader.AttributeCount - 1
                    reader.MoveToAttribute(i)
                    Console.WriteLine("{0} = {1}", reader.Name, reader.Value)
                Next i
                'Move the reader back to the node that owns the attribute.
                reader.MoveToElement()
            End If
        
        
        Finally
            If Not (reader Is Nothing) Then
                reader.Close()
            End If
        End Try
    End Sub 'Main ' End class
using System;
using System.IO;
using System.Xml;

public class Sample 
{
  public static void Main()
  {
    XmlValidatingReader reader = null;

    try
    {
       //Create the string to parse.
       string xmlFrag="<book genre='novel' ISBN='1-861003-78' pubdate='1987'></book> ";

       //Create the XmlNamespaceManager.
       NameTable nt = new NameTable();
       XmlNamespaceManager nsmgr = new XmlNamespaceManager(nt);

       //Create the XmlParserContext.
       XmlParserContext context = new XmlParserContext(null, nsmgr, null, XmlSpace.None);

       //Create the XmlValidatingReader .
       reader = new XmlValidatingReader(xmlFrag, XmlNodeType.Element, context);
  
       //Read the attributes on the root element.
       reader.MoveToContent();
       if (reader.HasAttributes){
         for (int i=0; i<reader.AttributeCount; i++){
            reader.MoveToAttribute(i);
            Console.WriteLine("{0} = {1}", reader.Name, reader.Value);
         }
         //Move the reader back to the node that owns the attribute.
         reader.MoveToElement();
       }

     } 

     finally 
     {
        if (reader != null)
          reader.Close();
      }
  }
} // End class
#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
   XmlValidatingReader^ reader = nullptr;
   try
   {
      
      //Create the string to parse.
      String^ xmlFrag = "<book genre='novel' ISBN='1-861003-78' pubdate='1987'></book> ";
      
      //Create the XmlNamespaceManager.
      NameTable^ nt = gcnew NameTable;
      XmlNamespaceManager^ nsmgr = gcnew XmlNamespaceManager( nt );
      
      //Create the XmlParserContext.
      XmlParserContext^ context = gcnew XmlParserContext( nullptr,nsmgr,nullptr,XmlSpace::None );
      
      //Create the XmlValidatingReader .
      reader = gcnew XmlValidatingReader( xmlFrag,XmlNodeType::Element,context );
      
      //Read the attributes on the root element.
      reader->MoveToContent();
      if ( reader->HasAttributes )
      {
         for ( int i = 0; i < reader->AttributeCount; i++ )
         {
            reader->MoveToAttribute( i );
            Console::WriteLine( "{0} = {1}", reader->Name, reader->Value );

         }
         reader->MoveToElement();
      }
   }
   finally
   {
      if ( reader != nullptr )
            reader->Close();
   }

}
import System.*;
import System.IO.*;
import System.Xml.*;

public class Sample
{   
    public static void main(String[] args)
    {
        XmlValidatingReader reader = null;
                
        try {
            //Create the string to parse.
            String xmlFrag = "<book genre='novel' ISBN='1-861003-78' " 
                + "pubdate='1987'></book> ";

            //Create the XmlNamespaceManager.
            NameTable nt =  new NameTable();
            XmlNamespaceManager nsMgr =  new XmlNamespaceManager(nt);

            //Create the XmlParserContext.
            XmlParserContext context =  
                new XmlParserContext(null, nsMgr, null, XmlSpace.None);

            //Create the XmlValidatingReader.
            reader = new XmlValidatingReader(xmlFrag, XmlNodeType.Element,
                context);

            //Read the attributes on the root element.
            reader.MoveToContent();
            if (reader.get_HasAttributes()) {
                for(int i=0; i < reader.get_AttributeCount(); i++) {
                    reader.MoveToAttribute(i);
                    Console.WriteLine("{0} = {1}",
                        reader.get_Name(), reader.get_Value());
                } 
                //Move the reader back to the node that owns the attribute.
                reader.MoveToElement();
            }
        }
        finally {
            if (reader != null) {
                reader.Close();
            }
        }
    } //main
} // End class Sample

Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

XmlValidatingReader-Klasse
XmlValidatingReader-Member
System.Xml-Namespace

Weitere Ressourcen

Lesen von XML mit dem "XmlReader"