Aracılığıyla paylaş


XmlTextReader Oluşturucular

Tanım

Yeni bir XmlTextReader örneğini başlatır.

Aşırı Yüklemeler

XmlTextReader()

Yeni bir XmlTextReader örneğini başlatır.

XmlTextReader(String, XmlNodeType, XmlParserContext)

Belirtilen dizeXmlNodeType, ve XmlParserContextile sınıfının yeni bir örneğini XmlTextReader başlatır.

XmlTextReader(String, TextReader, XmlNameTable)

Belirtilen URL TextReader ile sınıfının yeni bir örneğini XmlTextReader başlatır ve XmlNameTable.

XmlTextReader(String, Stream, XmlNameTable)

Belirtilen URL, akış ve XmlNameTableile sınıfının yeni bir örneğini XmlTextReader başlatır.

XmlTextReader(Stream, XmlNodeType, XmlParserContext)

Belirtilen akışıXmlNodeType, ve XmlParserContextile sınıfının yeni bir örneğini XmlTextReader başlatır.

XmlTextReader(String, TextReader)

Belirtilen URL ve TextReaderile sınıfının yeni bir örneğini XmlTextReader başlatır.

XmlTextReader(String, Stream)

Belirtilen URL ve akış ile sınıfının yeni bir örneğini XmlTextReader başlatır.

XmlTextReader(String, XmlNameTable)

belirtilen dosyası ve XmlNameTableile sınıfının yeni bir örneğini XmlTextReader başlatır.

XmlTextReader(Stream, XmlNameTable)

Belirtilen akış ve XmlNameTableile sınıfının yeni bir örneğini XmlTextReader başlatır.

XmlTextReader(XmlNameTable)

belirtilen XmlNameTableile sınıfının yeni bir örneğini XmlTextReader başlatır.

XmlTextReader(String)

Belirtilen dosyayla sınıfının yeni bir örneğini XmlTextReader başlatır.

XmlTextReader(TextReader)

belirtilen TextReaderile sınıfının yeni bir örneğini XmlTextReader başlatır.

XmlTextReader(Stream)

Belirtilen akışla sınıfının yeni bir örneğini XmlTextReader başlatır.

XmlTextReader(TextReader, XmlNameTable)

belirtilen TextReader ve XmlNameTableile sınıfının yeni bir örneğini XmlTextReader başlatır.

Açıklamalar

Not

.NET Framework 2.0'dan başlayarak, yeni işlevlerden yararlanmak için yöntemini kullanarak XmlReader.Create örnekler oluşturmanızı XmlReader öneririz.

XmlTextReader()

Yeni bir XmlTextReader örneğini başlatır.

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

Ayrıca bkz.

Şunlara uygulanır

XmlTextReader(String, XmlNodeType, XmlParserContext)

Belirtilen dizeXmlNodeType, ve XmlParserContextile sınıfının yeni bir örneğini XmlTextReader başlatır.

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)

Parametreler

xmlFragment
String

Ayrıştırmak için XML parçasını içeren dize.

fragType
XmlNodeType

XmlNodeType XML parçasının öğesi. Bu, parça dizesinin ne içerebileceğini de belirler. (Aşağıdaki tabloya bakın.)

context
XmlParserContext

xmlFragment içinde XmlParserContext ayrıştırılacak olan. Bu, kullanılacak, kodlama, ad alanı kapsamı, geçerli xml:lang ve xml:space kapsamını içerirXmlNameTable.

Özel durumlar

fragType, Attributeveya DocumentXmlNodeTypedeğildirElement.

xmlFragment, null değeridir.

Örnekler

Aşağıdaki örnek bir XML parçasını ayrıştırmaktadır. XmlParserContext Ad alanı çözümlemesini işlemek için ve kullanırXmlNamespaceManager.

#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

Açıklamalar

Not

.NET Framework 2.0'dan başlayarak, yeni işlevlerden yararlanmak için yöntemini kullanarak XmlReader.Create örnekler oluşturmanızı XmlReader öneririz.

Bu oluşturucu, verilen dizeyi XML parçası olarak ayrıştırıyor. XML parçası bir öğe veya öznitelikse, iyi biçimlendirilmiş XML belgeleri için kök düzey kurallarını atlayabilirsiniz. Bu oluşturucu, 'den ReadInnerXmldöndürülen dizeleri işleyebilir.

Aşağıdaki tabloda, okuyucunun farklı düğüm türlerinin her birini ayrıştırma şekli ve için geçerli değerler fragType listelenmiştir.

Xmlnodetype Parça İçerebilir
Öğe Geçerli herhangi bir öğe içeriği (örneğin, öğelerin, açıklamaların, işleme yönergelerinin, CDATA bölümlerinin, metinlerin ve varlık başvurularının herhangi bir bileşimi).

Xml bildirimi de sağlanabilir. Bu, XML parçasının kodlamasını nesne üzerinde ayarlamak zorunda kalmadan belirtmenize XmlParserContext olanak tanır.
Öznitelik Özniteliğin değeri (tırnak içindeki bölüm).
Belge Xml belgesinin tamamının içeriği. Bu, belge düzeyi kurallarını zorunlu kılar.

Ayrıca bkz.

Şunlara uygulanır

XmlTextReader(String, TextReader, XmlNameTable)

Belirtilen URL TextReader ile sınıfının yeni bir örneğini XmlTextReader başlatır ve 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)

Parametreler

url
String

Dış kaynakları çözümlemek için kullanılacak URL. BaseURI bu değere ayarlanır. ise url null, BaseURI olarak ayarlanır String.Empty.

input
TextReader

TextReader Okunacak XML verilerini içeren.

nt
XmlNameTable

XmlNameTable kullanılacak.

Özel durumlar

nt değeri null olur.

Açıklamalar

Not

.NET Framework 2.0'dan başlayarak, yeni işlevlerden yararlanmak için yöntemini kullanarak XmlReader.Create örnekler oluşturmanızı XmlReader öneririz.

öğesinin TextReader zaten doğru kodlamaya ayarlandığı varsayılır. Bu, çok parçalı bir MIME senaryosunda akıştan bazı şeyleri zaten okuyan istemciler tarafından kullanılır.

Ayrıca bkz.

Şunlara uygulanır

XmlTextReader(String, Stream, XmlNameTable)

Belirtilen URL, akış ve XmlNameTableile sınıfının yeni bir örneğini XmlTextReader başlatır.

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)

Parametreler

url
String

Dış kaynakları çözümlemek için kullanılacak URL. BaseURI bu değere ayarlanır. ise url null, BaseURI olarak ayarlanır String.Empty.

input
Stream

Okunacak XML verilerini içeren akış.

nt
XmlNameTable

XmlNameTable kullanılacak.

Özel durumlar

input veya nt değeridirnull.

Açıklamalar

Not

.NET Framework 2.0'dan başlayarak, yeni işlevlerden yararlanmak için yöntemini kullanarak XmlReader.Create örnekler oluşturmanızı XmlReader öneririz.

Ayrıca bkz.

Şunlara uygulanır

XmlTextReader(Stream, XmlNodeType, XmlParserContext)

Belirtilen akışıXmlNodeType, ve XmlParserContextile sınıfının yeni bir örneğini XmlTextReader başlatır.

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)

Parametreler

xmlFragment
Stream

Ayrıştırmak için XML parçasını içeren akış.

fragType
XmlNodeType

XmlNodeType XML parçasının öğesi. Bu ayrıca parçanın ne içerebileceğini de belirler. (Aşağıdaki tabloya bakın.)

context
XmlParserContext

xmlFragment içinde XmlParserContext ayrıştırılacak olan. Bu, kullanılacak, kodlama, ad alanı kapsamı, geçerli xml:lang ve xml:space kapsamını içerirXmlNameTable.

Özel durumlar

fragType bir Öğe, Öznitelik veya Belge XmlNodeTypedeğildir.

xmlFragment, null değeridir.

Açıklamalar

Not

.NET Framework 2.0'dan başlayarak, yeni işlevlerden yararlanmak için yöntemini kullanarak XmlReader.Create örnekler oluşturmanızı XmlReader öneririz.

Bu oluşturucu, verilen dizeyi XML parçası olarak ayrıştırıyor. XML parçası bir öğe veya öznitelikse, iyi biçimlendirilmiş XML belgeleri için kök düzey kurallarını atlayabilirsiniz.

Aşağıdaki tabloda için fragTypegeçerli değerler listelemektedir.

Xmlnodetype Parça İçerebilir
Element Geçerli herhangi bir öğe içeriği (örneğin, öğelerin, açıklamaların, işleme yönergelerinin, CDATA bölümlerinin, metinlerin ve varlık başvurularının herhangi bir bileşimi).

Xml bildirimi de sağlanabilir. Bu, XML parçasının kodlamasını nesne üzerinde ayarlamak zorunda kalmadan belirtmenize XmlParserContext olanak tanır.
Attribute Özniteliğin değeri (tırnak içindeki bölüm).
Document Xml belgesinin tamamının içeriği. Bu, belge düzeyi kurallarını zorunlu kılar.

Okuyucu, akışın kodlamasını belirlemek için aşağıdakileri kullanır.

  1. Kodlamayı XmlParserContext.Encoding belirlemek için özelliğini denetler.

  2. Encoding özelliği isenull, okuyucu akışın başında bir bayt sırası işareti olup olmadığını denetler.

  3. Encoding özelliği ise nullve bayt sırası işareti bulunamazsa, okuyucu akışın UTF-8 ile kodlanmış olduğunu varsayar.

Ayrıca bkz.

Şunlara uygulanır

XmlTextReader(String, TextReader)

Belirtilen URL ve TextReaderile sınıfının yeni bir örneğini XmlTextReader başlatır.

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)

Parametreler

url
String

Dış kaynakları çözümlemek için kullanılacak URL. BaseURI bu değere ayarlanır.

input
TextReader

TextReader Okunacak XML verilerini içeren.

Açıklamalar

Not

.NET Framework 2.0'dan başlayarak, yeni işlevlerden yararlanmak için yöntemini kullanarak XmlReader.Create örnekler oluşturmanızı XmlReader öneririz.

öğesinin TextReader zaten doğru kodlamaya ayarlandığı varsayılır. Bu, çok parçalı bir MIME senaryosunda akıştan bazı şeyleri zaten okuyan istemciler tarafından kullanılır.

Ayrıca bkz.

Şunlara uygulanır

XmlTextReader(String, Stream)

Belirtilen URL ve akış ile sınıfının yeni bir örneğini XmlTextReader başlatır.

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)

Parametreler

url
String

Dış kaynakları çözümlemek için kullanılacak URL. BaseURI bu değere ayarlanır.

input
Stream

Okunacak XML verilerini içeren akış.

Özel durumlar

input, null değeridir.

Açıklamalar

Not

.NET Framework 2.0'dan başlayarak, yeni işlevlerden yararlanmak için yöntemini kullanarak XmlReader.Create örnekler oluşturmanızı XmlReader öneririz.

Ayrıca bkz.

Şunlara uygulanır

XmlTextReader(String, XmlNameTable)

belirtilen dosyası ve XmlNameTableile sınıfının yeni bir örneğini XmlTextReader başlatır.

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)

Parametreler

url
String

Okunacak XML verilerini içeren dosyanın URL'si.

nt
XmlNameTable

XmlNameTable kullanılacak.

Özel durumlar

nt değeri null olur.

Belirtilen dosya bulunamıyor.

Dosya adının veya dizinin bir bölümü bulunamıyor.

url boş bir dizedir.

Uzak dosya adı çözümlenemiyor.

-veya-

İstek işlenirken bir hata oluştu.

url geçerli bir URI değil.

Açıklamalar

Not

.NET Framework 2.0'dan başlayarak, yeni işlevlerden yararlanmak için yöntemini kullanarak XmlReader.Create örnekler oluşturmanızı XmlReader öneririz.

Ayrıca bkz.

Şunlara uygulanır

XmlTextReader(Stream, XmlNameTable)

Belirtilen akış ve XmlNameTableile sınıfının yeni bir örneğini XmlTextReader başlatır.

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)

Parametreler

input
Stream

Okunacak XML verilerini içeren akış.

nt
XmlNameTable

XmlNameTable kullanılacak.

Özel durumlar

input veya nt değeridirnull.

Açıklamalar

Not

.NET Framework 2.0'dan başlayarak, yeni işlevlerden yararlanmak için yöntemini kullanarak XmlReader.Create örnekler oluşturmanızı XmlReader öneririz.

, XmlTextReader kullanarak System.Text.Encodingakışın kodunu çözer.

Bir ad tablosu belirtirseniz, bu oluşturucu o tabloda zaten tanımlanmış olan adları kullanır.

Ayrıca bkz.

Şunlara uygulanır

XmlTextReader(XmlNameTable)

belirtilen XmlNameTableile sınıfının yeni bir örneğini XmlTextReader başlatır.

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)

Parametreler

nt
XmlNameTable

XmlNameTable kullanılacak.

Açıklamalar

Not

.NET Framework 2.0'dan başlayarak, yeni işlevlerden yararlanmak için yöntemini kullanarak XmlReader.Create örnekler oluşturmanızı XmlReader öneririz.

Ayrıca bkz.

Şunlara uygulanır

XmlTextReader(String)

Belirtilen dosyayla sınıfının yeni bir örneğini XmlTextReader başlatır.

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

Parametreler

url
String

XML verilerini içeren dosyanın URL'si. BaseURI bu değere ayarlanır.

Özel durumlar

Belirtilen dosya bulunamıyor.

Dosya adının veya dizinin bir bölümü bulunamıyor.

url boş bir dizedir.

Uzak dosya adı çözümlenemiyor.

-veya-

İstek işlenirken bir hata oluştu.

url geçerli bir URI değil.

Örnekler

Aşağıdaki örnek bir XML dosyasını okur ve düğümlerin her birini görüntüler.

#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

Örnekte giriş olarak dosyası items.xmlkullanılır.


<?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>

Açıklamalar

Not

.NET Framework 2.0'dan başlayarak, yeni işlevlerden yararlanmak için yöntemini kullanarak XmlReader.Create örnekler oluşturmanızı XmlReader öneririz.

Dosya erişim kimlik bilgileri gerektiren bir kaynakta bulunuyorsa, gerekli kimlik bilgilerini belirtmek için özelliğini kullanın XmlResolver .

Not

.NET Framework sürüm 1.1'de kısmen güvenilen kod özelliği ayarlayamazXmlResolver. Geçici çözüm, gerekli kimlik bilgileriyle bir XmlUrlResolver oluşturmak, URI'yi yöntemine XmlUrlResolver.GetEntity geçirmek ve ardından sonuçta Stream elde edilen nesneyi kullanarak oluşturmaktırXmlTextReader. Geçici çözüm aşağıdaki C# kodunda açıklanmıştır.

// 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);  

Ayrıca bkz.

Şunlara uygulanır

XmlTextReader(TextReader)

belirtilen TextReaderile sınıfının yeni bir örneğini XmlTextReader başlatır.

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)

Parametreler

input
TextReader

TextReader Okunacak XML verilerini içeren.

Örnekler

Aşağıdaki örnek, sınıfını kullanarak StringReader nesneye XmlTextReader bir XML dizesi yükler.

#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

Açıklamalar

Not

.NET Framework 2.0'dan başlayarak, yeni işlevlerden yararlanmak için yöntemini kullanarak XmlReader.Create örnekler oluşturmanızı XmlReader öneririz.

öğesinin TextReader zaten doğru kodlamaya ayarlandığı varsayılır. Bu, çok parçalı bir MIME senaryosunda akıştan bazı şeyleri zaten okuyan istemciler tarafından kullanılır.

Ayrıca bkz.

Şunlara uygulanır

XmlTextReader(Stream)

Belirtilen akışla sınıfının yeni bir örneğini XmlTextReader başlatır.

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)

Parametreler

input
Stream

Okunacak XML verilerini içeren akış.

Özel durumlar

input, null değeridir.

Açıklamalar

Not

.NET Framework 2.0'dan başlayarak, yeni işlevlerden yararlanmak için yöntemini kullanarak XmlReader.Create örnekler oluşturmanızı XmlReader öneririz.

, XmlTextReader kullanarak System.Text.Encodingakışın kodunu çözer.

Ayrıca bkz.

Şunlara uygulanır

XmlTextReader(TextReader, XmlNameTable)

belirtilen TextReader ve XmlNameTableile sınıfının yeni bir örneğini XmlTextReader başlatır.

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)

Parametreler

input
TextReader

TextReader Okunacak XML verilerini içeren.

nt
XmlNameTable

XmlNameTable kullanılacak.

Özel durumlar

nt değeri null olur.

Açıklamalar

Not

.NET Framework 2.0'dan başlayarak, yeni işlevlerden yararlanmak için yöntemini kullanarak XmlReader.Create örnekler oluşturmanızı XmlReader öneririz.

öğesinin TextReader zaten doğru kodlamaya ayarlandığı varsayılır. Bu, çok parçalı bir MIME senaryosunda akıştan bazı şeyleri zaten okuyan istemciler tarafından kullanılır.

Ayrıca bkz.

Şunlara uygulanır