Udostępnij za pośrednictwem


XmlTextReader Konstruktory

Definicja

Inicjuje nowe wystąpienie klasy XmlTextReader.

Przeciążenia

XmlTextReader()

Inicjuje nowe wystąpienie klasy XmlTextReader.

XmlTextReader(String, XmlNodeType, XmlParserContext)

Inicjuje XmlTextReader nowe wystąpienie klasy z określonym ciągiem , XmlNodeTypei XmlParserContext.

XmlTextReader(String, TextReader, XmlNameTable)

Inicjuje XmlTextReader nowe wystąpienie klasy o określonym adresie URL TextReader i XmlNameTable.

XmlTextReader(String, Stream, XmlNameTable)

Inicjuje nowe wystąpienie klasy przy użyciu określonego XmlTextReader adresu URL, strumienia i XmlNameTable.

XmlTextReader(Stream, XmlNodeType, XmlParserContext)

Inicjuje XmlTextReader nowe wystąpienie klasy przy użyciu określonego strumienia, XmlNodeTypei XmlParserContext.

XmlTextReader(String, TextReader)

Inicjuje XmlTextReader nowe wystąpienie klasy przy użyciu określonego adresu URL i TextReader.

XmlTextReader(String, Stream)

Inicjuje XmlTextReader nowe wystąpienie klasy przy użyciu określonego adresu URL i strumienia.

XmlTextReader(String, XmlNameTable)

Inicjuje XmlTextReader nowe wystąpienie klasy przy użyciu określonego pliku i XmlNameTable.

XmlTextReader(Stream, XmlNameTable)

Inicjuje XmlTextReader nowe wystąpienie klasy z określonym strumieniem i XmlNameTable.

XmlTextReader(XmlNameTable)

Inicjuje XmlTextReader nowe wystąpienie klasy o określonej wartości XmlNameTable.

XmlTextReader(String)

Inicjuje XmlTextReader nowe wystąpienie klasy z określonym plikiem.

XmlTextReader(TextReader)

Inicjuje XmlTextReader nowe wystąpienie klasy o określonej wartości TextReader.

XmlTextReader(Stream)

Inicjuje XmlTextReader nowe wystąpienie klasy przy użyciu określonego strumienia.

XmlTextReader(TextReader, XmlNameTable)

Inicjuje XmlTextReader nowe wystąpienie klasy o określonej wartości TextReader i XmlNameTable.

Uwagi

Uwaga

Począwszy od .NET Framework 2.0, zalecamy utworzenie XmlReader wystąpień przy użyciu metody , aby korzystać z XmlReader.Create nowych funkcji.

XmlTextReader()

Inicjuje nowe wystąpienie klasy XmlTextReader.

protected:
 XmlTextReader();
protected XmlTextReader ();
Protected Sub New ()

Zobacz też

Dotyczy

XmlTextReader(String, XmlNodeType, XmlParserContext)

Inicjuje XmlTextReader nowe wystąpienie klasy z określonym ciągiem , XmlNodeTypei XmlParserContext.

public:
 XmlTextReader(System::String ^ xmlFragment, System::Xml::XmlNodeType fragType, System::Xml::XmlParserContext ^ context);
public XmlTextReader (string xmlFragment, System.Xml.XmlNodeType fragType, System.Xml.XmlParserContext? context);
public XmlTextReader (string xmlFragment, System.Xml.XmlNodeType fragType, System.Xml.XmlParserContext context);
new System.Xml.XmlTextReader : string * System.Xml.XmlNodeType * System.Xml.XmlParserContext -> System.Xml.XmlTextReader
Public Sub New (xmlFragment As String, fragType As XmlNodeType, context As XmlParserContext)

Parametry

xmlFragment
String

Ciąg zawierający fragment XML do przeanalizowana.

fragType
XmlNodeType

Fragment XmlNodeType XML. Określa to również, co może zawierać ciąg fragmentu. (Zobacz poniższą tabelę).

context
XmlParserContext

Element XmlParserContext , w którym xmlFragment ma zostać przeanalizowany. Obejmuje XmlNameTable to użycie, kodowanie, zakres przestrzeni nazw, bieżący zakres xml:lang i zakres xml:space .

Wyjątki

fragType nie jest elementem Element, Attributelub DocumentXmlNodeType.

xmlFragment to null.

Przykłady

Poniższy przykład analizuje fragment XML. Używa elementu XmlParserContext i do XmlNamespaceManager obsługi rozpoznawania przestrzeni nazw.

#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
   
   // Create the XML fragment to be parsed.
   String^ xmlFrag = "<book> <title>Pride And Prejudice</title> <bk:genre>novel</bk:genre> </book>";
   
   // Create the XmlNamespaceManager.
   NameTable^ nt = gcnew NameTable;
   XmlNamespaceManager^ nsmgr = gcnew XmlNamespaceManager( nt );
   nsmgr->AddNamespace( "bk", "urn:sample" );
   
   // Create the XmlParserContext.
   XmlParserContext^ context = gcnew XmlParserContext( nullptr,nsmgr,nullptr,XmlSpace::None );
   
   // Create the reader. 
   XmlTextReader^ reader = gcnew XmlTextReader( xmlFrag,XmlNodeType::Element,context );
   
   // Parse the XML.  If they exist, display the prefix and  
   // namespace URI of each element.
   while ( reader->Read() )
   {
      if ( reader->IsStartElement() )
      {
         if ( reader->Prefix == String::Empty )
                  Console::WriteLine( "< {0}>", reader->LocalName );
         else
         {
            Console::Write( "< {0}: {1}>", reader->Prefix, reader->LocalName );
            Console::WriteLine( " The namespace URI is {0}", reader->NamespaceURI );
         }
      }
   }

   
   // Close the reader.
   reader->Close();
}
using System;
using System.IO;
using System.Xml;

public class Sample
{
  public static void Main()
  {

    //Create the XML fragment to be parsed.
    string xmlFrag ="<book> " +
                    "<title>Pride And Prejudice</title>" +
                    "<bk:genre>novel</bk:genre>" +
                    "</book>";

    //Create the XmlNamespaceManager.
    NameTable nt = new NameTable();
    XmlNamespaceManager nsmgr = new XmlNamespaceManager(nt);
    nsmgr.AddNamespace("bk", "urn:sample");

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

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

    //Parse the XML.  If they exist, display the prefix and
    //namespace URI of each element.
    while (reader.Read()){
      if (reader.IsStartElement()){
        if (reader.Prefix==String.Empty)
                {
                    Console.WriteLine("<{0}>", reader.LocalName);
                }
                else
                {
            Console.Write("<{0}:{1}>", reader.Prefix, reader.LocalName);
            Console.WriteLine(" The namespace URI is " + reader.NamespaceURI);
        }
      }
    }

    //Close the reader.
    reader.Close();
  }
} // End class
Imports System.IO
Imports System.Xml

public class Sample 

  public shared sub Main()

    'Create the XML fragment to be parsed.
    Dim xmlFrag as string ="<book> " & _
                           "<title>Pride And Prejudice</title>" & _
                           "<bk:genre>novel</bk:genre>" & _
                           "</book>" 

    'Create the XmlNamespaceManager.
    Dim nt as NameTable = new NameTable()
    Dim nsmgr as XmlNamespaceManager = new XmlNamespaceManager(nt)
    nsmgr.AddNamespace("bk", "urn:sample")

    'Create the XmlParserContext.
    Dim context as XmlParserContext = new XmlParserContext(nothing, nsmgr, nothing, XmlSpace.None)

    'Create the reader. 
    Dim reader as XmlTextReader = new XmlTextReader(xmlFrag, XmlNodeType.Element, context)
  
    'Parse the XML.  If they exist, display the prefix and  
    'namespace URI of each element.
    while (reader.Read())
      if (reader.IsStartElement())
        if (reader.Prefix=String.Empty)
           Console.WriteLine("<{0}>", reader.LocalName)
        else
            Console.Write("<{0}:{1}>", reader.Prefix, reader.LocalName)
            Console.WriteLine(" The namespace URI is " + reader.NamespaceURI)
        end if 
      end if
    end while
  
    'Close the reader.
    reader.Close()     
  
  end sub
end class

Uwagi

Uwaga

Począwszy od .NET Framework 2.0, zalecamy utworzenie XmlReader wystąpień przy użyciu metody , aby korzystać z XmlReader.Create nowych funkcji.

Ten konstruktor analizuje dany ciąg jako fragment kodu XML. Jeśli fragment XML jest elementem lub atrybutem, możesz pominąć reguły poziomu głównego dla dobrze sformułowanych dokumentów XML. Ten konstruktor może obsługiwać ciągi zwracane z ReadInnerXmlelementu .

W poniższej tabeli wymieniono prawidłowe wartości i fragType sposób analizowania poszczególnych typów węzłów przez czytelnika.

XmlNodeType Fragment może zawierać
Element Dowolna prawidłowa zawartość elementu (na przykład dowolna kombinacja elementów, komentarzy, instrukcji przetwarzania, sekcje CDATA, tekst i odwołania do jednostek).

Można również podać deklarację XML. Umożliwia to określenie kodowania fragmentu XML, a nie konieczności ustawiania go na XmlParserContext obiekcie.
Atrybut Wartość atrybutu (część wewnątrz cudzysłowów).
Dokument Zawartość całego dokumentu XML. Wymusza to reguły na poziomie dokumentu.

Zobacz też

Dotyczy

XmlTextReader(String, TextReader, XmlNameTable)

Inicjuje XmlTextReader nowe wystąpienie klasy o określonym adresie URL TextReader i XmlNameTable.

public:
 XmlTextReader(System::String ^ url, System::IO::TextReader ^ input, System::Xml::XmlNameTable ^ nt);
public XmlTextReader (string url, System.IO.TextReader input, System.Xml.XmlNameTable nt);
new System.Xml.XmlTextReader : string * System.IO.TextReader * System.Xml.XmlNameTable -> System.Xml.XmlTextReader
Public Sub New (url As String, input As TextReader, nt As XmlNameTable)

Parametry

url
String

Adres URL używany do rozpoznawania zasobów zewnętrznych. Wartość jest ustawiona BaseURI na tę wartość. Jeśli url wartość to null, BaseURI jest ustawiona na String.Emptywartość .

input
TextReader

Zawierające TextReader dane XML do odczytania.

nt
XmlNameTable

Do XmlNameTable użycia.

Wyjątki

Wartość elementu nt to null.

Uwagi

Uwaga

Począwszy od .NET Framework 2.0, zalecamy utworzenie XmlReader wystąpień przy użyciu metody , aby korzystać z XmlReader.Create nowych funkcji.

Zakłada się, że TextReader parametr jest już ustawiony na poprawne kodowanie. Jest to używane przez klientów, którzy już odczytywali niektóre elementy ze strumienia w scenariuszu MIME z wieloma częściami.

Zobacz też

Dotyczy

XmlTextReader(String, Stream, XmlNameTable)

Inicjuje nowe wystąpienie klasy przy użyciu określonego XmlTextReader adresu URL, strumienia i XmlNameTable.

public:
 XmlTextReader(System::String ^ url, System::IO::Stream ^ input, System::Xml::XmlNameTable ^ nt);
public XmlTextReader (string url, System.IO.Stream input, System.Xml.XmlNameTable nt);
new System.Xml.XmlTextReader : string * System.IO.Stream * System.Xml.XmlNameTable -> System.Xml.XmlTextReader
Public Sub New (url As String, input As Stream, nt As XmlNameTable)

Parametry

url
String

Adres URL używany do rozpoznawania zasobów zewnętrznych. Wartość jest ustawiona BaseURI na tę wartość. Jeśli url wartość to null, BaseURI jest ustawiona na String.Emptywartość .

input
Stream

Strumień zawierający dane XML do odczytania.

nt
XmlNameTable

Do XmlNameTable użycia.

Wyjątki

Wartość input lub nt to null.

Uwagi

Uwaga

Począwszy od .NET Framework 2.0, zalecamy utworzenie XmlReader wystąpień przy użyciu metody , aby korzystać z XmlReader.Create nowych funkcji.

Zobacz też

Dotyczy

XmlTextReader(Stream, XmlNodeType, XmlParserContext)

Inicjuje XmlTextReader nowe wystąpienie klasy przy użyciu określonego strumienia, XmlNodeTypei XmlParserContext.

public:
 XmlTextReader(System::IO::Stream ^ xmlFragment, System::Xml::XmlNodeType fragType, System::Xml::XmlParserContext ^ context);
public XmlTextReader (System.IO.Stream xmlFragment, System.Xml.XmlNodeType fragType, System.Xml.XmlParserContext? context);
public XmlTextReader (System.IO.Stream xmlFragment, System.Xml.XmlNodeType fragType, System.Xml.XmlParserContext context);
new System.Xml.XmlTextReader : System.IO.Stream * System.Xml.XmlNodeType * System.Xml.XmlParserContext -> System.Xml.XmlTextReader
Public Sub New (xmlFragment As Stream, fragType As XmlNodeType, context As XmlParserContext)

Parametry

xmlFragment
Stream

Strumień zawierający fragment XML do przeanalizowana.

fragType
XmlNodeType

Fragment XmlNodeType XML. Określa to również, co może zawierać fragment. (Zobacz poniższą tabelę).

context
XmlParserContext

Element XmlParserContext , w którym xmlFragment ma zostać przeanalizowany. Obejmuje XmlNameTable to użycie, kodowanie, zakres przestrzeni nazw, bieżący zakres xml:lang i zakres xml:space .

Wyjątki

fragType nie jest elementem, atrybutem ani dokumentem XmlNodeType.

xmlFragment to null.

Uwagi

Uwaga

Począwszy od .NET Framework 2.0, zalecamy utworzenie XmlReader wystąpień przy użyciu metody , aby korzystać z XmlReader.Create nowych funkcji.

Ten konstruktor analizuje dany ciąg jako fragment kodu XML. Jeśli fragment XML jest elementem lub atrybutem, możesz pominąć reguły poziomu głównego dla dobrze sformułowanych dokumentów XML.

W poniższej tabeli wymieniono prawidłowe wartości dla fragTypeelementu .

XmlNodeType Fragment może zawierać
Element Dowolna prawidłowa zawartość elementu (na przykład dowolna kombinacja elementów, komentarzy, instrukcji przetwarzania, sekcje CDATA, tekst i odwołania do jednostek).

Można również podać deklarację XML. Umożliwia to określenie kodowania fragmentu XML, a nie konieczności ustawiania go na XmlParserContext obiekcie.
Attribute Wartość atrybutu (część wewnątrz cudzysłowów).
Document Zawartość całego dokumentu XML. Wymusza to reguły na poziomie dokumentu.

Czytelnik używa następujących elementów do określenia kodowania strumienia.

  1. Sprawdza właściwość w XmlParserContext.Encoding celu określenia kodowania.

  2. Encoding Jeśli właściwość to null, czytnik sprawdza znacznik kolejności bajtów na początku strumienia.

  3. Encoding Jeśli właściwość ma nullwartość , a nie znaleziono znacznika kolejności bajtów, czytnik zakłada, że strumień jest zakodowany w formacie UTF-8.

Zobacz też

Dotyczy

XmlTextReader(String, TextReader)

Inicjuje XmlTextReader nowe wystąpienie klasy przy użyciu określonego adresu URL i TextReader.

public:
 XmlTextReader(System::String ^ url, System::IO::TextReader ^ input);
public XmlTextReader (string url, System.IO.TextReader input);
new System.Xml.XmlTextReader : string * System.IO.TextReader -> System.Xml.XmlTextReader
Public Sub New (url As String, input As TextReader)

Parametry

url
String

Adres URL używany do rozpoznawania zasobów zewnętrznych. Wartość jest ustawiona BaseURI na tę wartość.

input
TextReader

Zawierające TextReader dane XML do odczytania.

Uwagi

Uwaga

Począwszy od .NET Framework 2.0, zalecamy utworzenie XmlReader wystąpień przy użyciu metody , aby korzystać z XmlReader.Create nowych funkcji.

Zakłada się, że TextReader parametr jest już ustawiony na poprawne kodowanie. Jest to używane przez klientów, którzy już odczytywali niektóre elementy ze strumienia w scenariuszu MIME z wieloma częściami.

Zobacz też

Dotyczy

XmlTextReader(String, Stream)

Inicjuje XmlTextReader nowe wystąpienie klasy przy użyciu określonego adresu URL i strumienia.

public:
 XmlTextReader(System::String ^ url, System::IO::Stream ^ input);
public XmlTextReader (string url, System.IO.Stream input);
new System.Xml.XmlTextReader : string * System.IO.Stream -> System.Xml.XmlTextReader
Public Sub New (url As String, input As Stream)

Parametry

url
String

Adres URL używany do rozpoznawania zasobów zewnętrznych. Wartość jest ustawiona BaseURI na tę wartość.

input
Stream

Strumień zawierający dane XML do odczytania.

Wyjątki

input to null.

Uwagi

Uwaga

Począwszy od .NET Framework 2.0, zalecamy utworzenie XmlReader wystąpień przy użyciu metody , aby korzystać z XmlReader.Create nowych funkcji.

Zobacz też

Dotyczy

XmlTextReader(String, XmlNameTable)

Inicjuje XmlTextReader nowe wystąpienie klasy przy użyciu określonego pliku i XmlNameTable.

public:
 XmlTextReader(System::String ^ url, System::Xml::XmlNameTable ^ nt);
public XmlTextReader (string url, System.Xml.XmlNameTable nt);
new System.Xml.XmlTextReader : string * System.Xml.XmlNameTable -> System.Xml.XmlTextReader
Public Sub New (url As String, nt As XmlNameTable)

Parametry

url
String

Adres URL pliku zawierającego dane XML do odczytania.

nt
XmlNameTable

Do XmlNameTable użycia.

Wyjątki

Wartość elementu nt to null.

Nie można odnaleźć określonego pliku.

Nie można odnaleźć części nazwy pliku lub katalogu.

url jest pustym ciągiem.

Nie można rozpoznać nazwy pliku zdalnego.

-lub-

Wystąpił błąd podczas przetwarzania żądania.

url nie jest prawidłowym identyfikatorem URI.

Uwagi

Uwaga

Począwszy od .NET Framework 2.0, zalecamy utworzenie XmlReader wystąpień przy użyciu metody , aby korzystać z XmlReader.Create nowych funkcji.

Zobacz też

Dotyczy

XmlTextReader(Stream, XmlNameTable)

Inicjuje XmlTextReader nowe wystąpienie klasy z określonym strumieniem i XmlNameTable.

public:
 XmlTextReader(System::IO::Stream ^ input, System::Xml::XmlNameTable ^ nt);
public XmlTextReader (System.IO.Stream input, System.Xml.XmlNameTable nt);
new System.Xml.XmlTextReader : System.IO.Stream * System.Xml.XmlNameTable -> System.Xml.XmlTextReader
Public Sub New (input As Stream, nt As XmlNameTable)

Parametry

input
Stream

Strumień zawierający dane XML do odczytania.

nt
XmlNameTable

Do XmlNameTable użycia.

Wyjątki

Wartość input lub nt to null.

Uwagi

Uwaga

Począwszy od .NET Framework 2.0, zalecamy utworzenie XmlReader wystąpień przy użyciu metody , aby korzystać z XmlReader.Create nowych funkcji.

Dekoduje XmlTextReader strumień przy użyciu polecenia System.Text.Encoding.

Jeśli określisz tabelę nazw, ten konstruktor używa nazw zdefiniowanych już w tej tabeli.

Zobacz też

Dotyczy

XmlTextReader(XmlNameTable)

Inicjuje XmlTextReader nowe wystąpienie klasy o określonej wartości XmlNameTable.

protected:
 XmlTextReader(System::Xml::XmlNameTable ^ nt);
protected XmlTextReader (System.Xml.XmlNameTable nt);
new System.Xml.XmlTextReader : System.Xml.XmlNameTable -> System.Xml.XmlTextReader
Protected Sub New (nt As XmlNameTable)

Parametry

nt
XmlNameTable

Do XmlNameTable użycia.

Uwagi

Uwaga

Począwszy od .NET Framework 2.0, zalecamy utworzenie XmlReader wystąpień przy użyciu metody , aby korzystać z XmlReader.Create nowych funkcji.

Zobacz też

Dotyczy

XmlTextReader(String)

Inicjuje XmlTextReader nowe wystąpienie klasy z określonym plikiem.

public:
 XmlTextReader(System::String ^ url);
public XmlTextReader (string url);
new System.Xml.XmlTextReader : string -> System.Xml.XmlTextReader
Public Sub New (url As String)

Parametry

url
String

Adres URL pliku zawierającego dane XML. Wartość jest ustawiona BaseURI na tę wartość.

Wyjątki

Nie można odnaleźć określonego pliku.

Nie można odnaleźć części nazwy pliku lub katalogu.

url jest pustym ciągiem.

Nie można rozpoznać nazwy pliku zdalnego.

-lub-

Wystąpił błąd podczas przetwarzania żądania.

url nie jest prawidłowym identyfikatorem URI.

Przykłady

Poniższy przykład odczytuje plik XML i wyświetla każdy z węzłów.

#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
   XmlTextReader^ reader = nullptr;
   String^ filename = "items.xml";
   try
   {
      
      // Load the reader with the data file and ignore all white space nodes.         
      reader = gcnew XmlTextReader( filename );
      reader->WhitespaceHandling = WhitespaceHandling::None;
      
      // Parse the file and display each of the nodes.
      while ( reader->Read() )
      {
         switch ( reader->NodeType )
         {
            case XmlNodeType::Element:
               Console::Write( "<{0}>", reader->Name );
               break;

            case XmlNodeType::Text:
               Console::Write( reader->Value );
               break;

            case XmlNodeType::CDATA:
               Console::Write( "<![CDATA[{0}]]>", reader->Value );
               break;

            case XmlNodeType::ProcessingInstruction:
               Console::Write( "<?{0} {1}?>", reader->Name, reader->Value );
               break;

            case XmlNodeType::Comment:
               Console::Write( "<!--{0}-->", reader->Value );
               break;

            case XmlNodeType::XmlDeclaration:
               Console::Write( "<?xml version='1.0'?>" );
               break;

            case XmlNodeType::Document:
               break;

            case XmlNodeType::DocumentType:
               Console::Write( "<!DOCTYPE {0} [{1}]", reader->Name, reader->Value );
               break;

            case XmlNodeType::EntityReference:
               Console::Write( reader->Name );
               break;

            case XmlNodeType::EndElement:
               Console::Write( "</{0}>", reader->Name );
               break;
         }
      }
   }
   finally
   {
      if ( reader != nullptr )
            reader->Close();
   }

}
using System;
using System.IO;
using System.Xml;

public class Sample {

  private const String filename = "items.xml";

  public static void Main() {

     XmlTextReader reader = null;

     try {

        // Load the reader with the data file and ignore all white space nodes.
        reader = new XmlTextReader(filename);
        reader.WhitespaceHandling = WhitespaceHandling.None;

        // Parse the file and display each of the nodes.
        while (reader.Read()) {
           switch (reader.NodeType) {
             case XmlNodeType.Element:
               Console.Write("<{0}>", reader.Name);
               break;
             case XmlNodeType.Text:
               Console.Write(reader.Value);
               break;
             case XmlNodeType.CDATA:
               Console.Write("<![CDATA[{0}]]>", reader.Value);
               break;
             case XmlNodeType.ProcessingInstruction:
               Console.Write("<?{0} {1}?>", reader.Name, reader.Value);
               break;
             case XmlNodeType.Comment:
               Console.Write("<!--{0}-->", reader.Value);
               break;
             case XmlNodeType.XmlDeclaration:
               Console.Write("<?xml version='1.0'?>");
               break;
             case XmlNodeType.Document:
               break;
             case XmlNodeType.DocumentType:
               Console.Write("<!DOCTYPE {0} [{1}]", reader.Name, reader.Value);
               break;
             case XmlNodeType.EntityReference:
               Console.Write(reader.Name);
               break;
             case XmlNodeType.EndElement:
               Console.Write("</{0}>", reader.Name);
               break;
           }
        }
     }

     finally {
        if (reader!=null)
          reader.Close();
     }
  }
} // End class
Option Strict
Option Explicit

Imports System.IO
Imports System.Xml

'Reads an XML document
Public Class Sample
    Private Const filename As String = "items.xml"
    
    Public Shared Sub Main()
        Dim reader As XmlTextReader = Nothing
        
        Try
            ' Load the reader with the data file and ignore all white space nodes.         
            reader = New XmlTextReader(filename)
            reader.WhitespaceHandling = WhitespaceHandling.None
            
            ' Parse the file and display each of the nodes.
            While reader.Read()
                Select Case reader.NodeType
                    Case XmlNodeType.Element
                        Console.Write("<{0}>", reader.Name)
                    Case XmlNodeType.Text
                        Console.Write(reader.Value)
                    Case XmlNodeType.CDATA
                        Console.Write("<![CDATA[{0}]]>", reader.Value)
                    Case XmlNodeType.ProcessingInstruction
                        Console.Write("<?{0} {1}?>", reader.Name, reader.Value)
                    Case XmlNodeType.Comment
                        Console.Write("<!--{0}-->", reader.Value)
                    Case XmlNodeType.XmlDeclaration
                        Console.Write("<?xml version='1.0'?>")
                    Case XmlNodeType.Document
                    Case XmlNodeType.DocumentType
                        Console.Write("<!DOCTYPE {0} [{1}]", reader.Name, reader.Value)
                    Case XmlNodeType.EntityReference
                        Console.Write(reader.Name)
                    Case XmlNodeType.EndElement
                        Console.Write("</{0}>", reader.Name)
                End Select
            End While
        
        Finally
            If Not (reader Is Nothing) Then
                reader.Close()
            End If
        End Try
    End Sub
End Class

W przykładzie użyto pliku , items.xmljako danych wejściowych.


<?xml version="1.0"?>
<!-- This is a sample XML document -->
<!DOCTYPE Items [<!ENTITY number "123">]>
<Items>
  <Item>Test with an entity: &number;</Item>
  <Item>test with a child element <more/> stuff</Item>
  <Item>test with a CDATA section <![CDATA[<456>]]> def</Item>
  <Item>Test with an char entity: A</Item>
  <!-- Fourteen chars in this element.-->
  <Item>1234567890ABCD</Item>
</Items>

Uwagi

Uwaga

Począwszy od .NET Framework 2.0, zalecamy utworzenie XmlReader wystąpień przy użyciu metody , aby korzystać z XmlReader.Create nowych funkcji.

Jeśli plik znajduje się w zasobie, który wymaga poświadczeń dostępu, użyj XmlResolver właściwości , aby określić niezbędne poświadczenia.

Uwaga

W wersji 1.1 .NET Framework częściowo zaufany kod nie może ustawić XmlResolver właściwości. Obejście polega na utworzeniu obiektu XmlUrlResolver z wymaganymi poświadczeniami, przekazaniu identyfikatora URI do XmlUrlResolver.GetEntity metody, a następnie utworzeniu XmlTextReader obiektu wynikowego Stream . Obejście zostało opisane w poniższym kodzie języka C#.

// Create a resolver with the necessary credentials.  
XmlUrlResolver resolver = new XmlUrlResolver();  
NetworkCredential nc = new NetworkCredential(SecurelyStoredUserName, SecurelyStoredPassword, SecurelyStoredDomain);  
resolver.Credentials = nc;   
// Get a Stream object containing the XML file.  
Uri myUri = new Uri ("http://myServer/data/books.xml");  
Stream s=(Stream)resolver.GetEntity(myUri, null, typeof(Stream));  
// Construct a reader using the Stream object.  
XmlTextReader reader = new XmlTextReader(s);  

Zobacz też

Dotyczy

XmlTextReader(TextReader)

Inicjuje XmlTextReader nowe wystąpienie klasy o określonej wartości TextReader.

public:
 XmlTextReader(System::IO::TextReader ^ input);
public XmlTextReader (System.IO.TextReader input);
new System.Xml.XmlTextReader : System.IO.TextReader -> System.Xml.XmlTextReader
Public Sub New (input As TextReader)

Parametry

input
TextReader

Zawierające TextReader dane XML do odczytania.

Przykłady

Poniższy przykład ładuje ciąg XML do XmlTextReader obiektu przy użyciu StringReader klasy .

#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
   String^ xmlData = "<book>\r\n       <title>Oberon's Legacy</title>\r\n       <price>5.95</price>\r\n      </book>";
   
   // Create the reader.
   XmlTextReader^ reader = gcnew XmlTextReader( gcnew StringReader( xmlData ) );
   reader->WhitespaceHandling = WhitespaceHandling::None;
   
   // Display each element node.
   while ( reader->Read() )
   {
      switch ( reader->NodeType )
      {
         case XmlNodeType::Element:
            Console::Write( "<{0}>", reader->Name );
            break;

         case XmlNodeType::Text:
            Console::Write( reader->Value );
            break;

         case XmlNodeType::EndElement:
            Console::Write( "</{0}>", reader->Name );
            break;
      }
   }

   
   // Close the reader.
   reader->Close();
}
using System;
using System.IO;
using System.Xml;

public class Sample {

  public static void Main() {

    string xmlData =
    @"<book>
       <title>Oberon's Legacy</title>
       <price>5.95</price>
      </book>";

    // Create the reader.
    XmlTextReader reader = new XmlTextReader(new StringReader(xmlData));
    reader.WhitespaceHandling = WhitespaceHandling.None;

    // Display each element node.
    while (reader.Read()){
       switch (reader.NodeType){
         case XmlNodeType.Element:
           Console.Write("<{0}>", reader.Name);
           break;
         case XmlNodeType.Text:
           Console.Write(reader.Value);
           break;
         case XmlNodeType.EndElement:
           Console.Write("</{0}>", reader.Name);
           break;
      }
    }

    // Close the reader.
    reader.Close();
  }
} // End class
Imports System.IO
Imports System.Xml

public class Sample 

  public shared sub Main()

    Dim xmlData as string 
    xmlData = "<book>" & _
              "  <title>Oberon's Legacy</title>" & _
              "  <price>5.95</price>" & _
              "</book>"

    ' Create the reader.
    Dim reader as XmlTextReader = new XmlTextReader(new StringReader(xmlData))
    reader.WhitespaceHandling = WhitespaceHandling.None

    ' Display each element node.
    while reader.Read()
       select case reader.NodeType
         case XmlNodeType.Element
           Console.Write("<{0}>", reader.Name)
         case XmlNodeType.Text
           Console.Write(reader.Value)
         case XmlNodeType.EndElement
           Console.Write("</{0}>", reader.Name)
       end select       
    end while           

    ' Close the reader.
    reader.Close()       
  end sub
end class

Uwagi

Uwaga

Począwszy od .NET Framework 2.0, zalecamy utworzenie XmlReader wystąpień przy użyciu metody , aby korzystać z XmlReader.Create nowych funkcji.

Zakłada się, że TextReader parametr jest już ustawiony na poprawne kodowanie. Jest to używane przez klientów, którzy już odczytywali niektóre elementy ze strumienia w scenariuszu MIME z wieloma częściami.

Zobacz też

Dotyczy

XmlTextReader(Stream)

Inicjuje XmlTextReader nowe wystąpienie klasy przy użyciu określonego strumienia.

public:
 XmlTextReader(System::IO::Stream ^ input);
public XmlTextReader (System.IO.Stream input);
new System.Xml.XmlTextReader : System.IO.Stream -> System.Xml.XmlTextReader
Public Sub New (input As Stream)

Parametry

input
Stream

Strumień zawierający dane XML do odczytania.

Wyjątki

input to null.

Uwagi

Uwaga

Począwszy od .NET Framework 2.0, zalecamy utworzenie XmlReader wystąpień przy użyciu metody , aby korzystać z XmlReader.Create nowych funkcji.

Dekoduje XmlTextReader strumień przy użyciu polecenia System.Text.Encoding.

Zobacz też

Dotyczy

XmlTextReader(TextReader, XmlNameTable)

Inicjuje XmlTextReader nowe wystąpienie klasy o określonej wartości TextReader i XmlNameTable.

public:
 XmlTextReader(System::IO::TextReader ^ input, System::Xml::XmlNameTable ^ nt);
public XmlTextReader (System.IO.TextReader input, System.Xml.XmlNameTable nt);
new System.Xml.XmlTextReader : System.IO.TextReader * System.Xml.XmlNameTable -> System.Xml.XmlTextReader
Public Sub New (input As TextReader, nt As XmlNameTable)

Parametry

input
TextReader

Zawierające TextReader dane XML do odczytania.

nt
XmlNameTable

Do XmlNameTable użycia.

Wyjątki

Wartość elementu nt to null.

Uwagi

Uwaga

Począwszy od .NET Framework 2.0, zalecamy utworzenie XmlReader wystąpień przy użyciu metody , aby korzystać z XmlReader.Create nowych funkcji.

Zakłada się, że TextReader parametr jest już ustawiony na poprawne kodowanie. Jest to używane przez klientów, którzy już odczytywali niektóre elementy ze strumienia w scenariuszu MIME z wieloma częściami.

Zobacz też

Dotyczy