Freigeben über


XmlTextReader.IsEmptyElement-Eigenschaft

Ruft einen Wert ab, der angibt, ob der aktuelle Knoten ein leeres Element ist (z. B. <MyElement/>).

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

Syntax

'Declaration
Public Overrides ReadOnly Property IsEmptyElement As Boolean
'Usage
Dim instance As XmlTextReader
Dim value As Boolean

value = instance.IsEmptyElement
public override bool IsEmptyElement { get; }
public:
virtual property bool IsEmptyElement {
    bool get () override;
}
/** @property */
public boolean get_IsEmptyElement ()
public override function get IsEmptyElement () : boolean

Eigenschaftenwert

true, wenn der aktuelle Knoten ein Element ist (NodeType ist gleich XmlNodeType.Element), das mit /> endet, andernfalls false.

Hinweise

Hinweis

Die empfohlene Vorgehensweise für die Version Microsoft .NET Framework, Version 2.0 besteht darin, mithilfe der System.Xml.XmlReader.Create-Methode XmlReader-Instanzen zu erstellen. So können Sie die neuen Features dieser Version in vollem Umfang nutzen. Weitere Informationen finden Sie unter Erstellen von XML-Readern.

Mit dieser Eigenschaft können Sie den Unterschied zwischen den folgenden Elementen bestimmen:

<item num="123"/> (IsEmptyElement ist true).

<item num="123"> (IsEmptyElement ist false obwohl das Element leer ist).

Für leere Elemente wird kein entsprechender EndElement-Knoten generiert.

IsEmptyElement gibt lediglich an, ob das Element im Quelldokument über ein Endtag verfügt.

Beispiel

Im folgenden Beispiel wird der Textinhalt der einzelnen Elemente angezeigt.

Option Strict
Option Explicit

Imports System
Imports System.IO
Imports System.Xml

Public Class Sample
    
    Public Shared Sub Main()
        Dim reader As XmlTextReader = Nothing
        
        Try
            'Load the reader with the XML file.
            reader = New XmlTextReader("elems.xml")
            
            'Parse the XML and display the text content of each of the elements.
            While reader.Read()
                If reader.IsStartElement() Then
                    If reader.IsEmptyElement Then
                        Console.WriteLine("<{0}/>", reader.Name)
                    Else
                        Console.Write("<{0}>" + " ", reader.Name)
                        reader.Read() 'Read the start tag.
                        If (reader.IsStartElement())  'Handle nested elements.
                          Console.WriteLine()
                          Console.Write("<{0}>", reader.Name)
                        End If
                        Console.WriteLine(reader.ReadString()) 'Read the text content of the element.
                    End If
                End If
            End While
        
        
        Finally
            If Not (reader Is Nothing) Then
                reader.Close()
            End If
        End Try
    End Sub 'Main 
End Class 'Sample
using System;
using System.IO;
using System.Xml;

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

    try
    {
       //Load the reader with the XML file.
       reader = new XmlTextReader("elems.xml");
  
       //Parse the XML and display the text content of each of the elements.
       while (reader.Read()){
         if (reader.IsStartElement()){
           if (reader.IsEmptyElement)
              Console.WriteLine("<{0}/>", reader.Name);
           else{
               Console.Write("<{0}> ", reader.Name);
               reader.Read(); //Read the start tag.
               if (reader.IsStartElement())  //Handle nested elements.
                 Console.Write("\r\n<{0}>", reader.Name);
               Console.WriteLine(reader.ReadString());  //Read the text content of the element.
           }
         }
       } 
       
     } 

     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()
{
   XmlTextReader^ reader = nullptr;
   try
   {
      
      //Load the reader with the XML file.
      reader = gcnew XmlTextReader( "elems.xml" );
      
      //Parse the XML and display the text content of each of the elements.
      while ( reader->Read() )
      {
         if ( reader->IsStartElement() )
         {
            if ( reader->IsEmptyElement )
                        Console::WriteLine( "<{0}/>", reader->Name );
            else
            {
               Console::Write( "<{0}> ", reader->Name );
               reader->Read(); //Read the start tag.
               if ( reader->IsStartElement() )
                              
               //Handle nested elements.
               Console::Write( "\r\n<{0}>", reader->Name );
               Console::WriteLine( reader->ReadString() ); //Read the text content of the element.
            }
         }
      }
   }
   finally
   {
      if ( reader != nullptr )
            reader->Close();
   }

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

public class Sample
{
    public static void main(String[] args)
    {
        XmlTextReader reader = null;
        try {
            //Load the reader with the XML file.
            reader = new XmlTextReader("elems.xml");
            
            //Parse the XML and display the text content of each of the elements
            while (reader.Read()) {
                if (reader.IsStartElement()) {
                    if (reader.get_IsEmptyElement()) {
                        Console.WriteLine("<{0}/>", reader.get_Name());
                    }
                    else {
                        Console.Write("<{0}> ", reader.get_Name());
                        reader.Read(); //Read the start tag.
                        if (reader.IsStartElement()) { //Handle nested elements.
                            Console.Write("\r\n<{0}>", reader.get_Name());
                        }
                        //Read the text content of the element.
                        Console.WriteLine(reader.ReadString()); 
                    }
                }
            }
        }     
        finally {
            if (reader != null) {
                reader.Close();
            }
        }
    } //main
} //End class Sample

Im Beispiel wird die Datei elems.xml als Eingabe verwendet.

<book>
  <title>Pride And Prejudice</title>
  <price>19.95</price>
  <misc/>
</book>

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, 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

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

XmlTextReader-Klasse
XmlTextReader-Member
System.Xml-Namespace

Weitere Ressourcen

Lesen von XML mit dem "XmlReader"