XmlTextReader Конструкторы

Определение

Инициализирует новый экземпляр класса XmlTextReader.

Перегрузки

XmlTextReader()

Инициализирует новый экземпляр класса XmlTextReader.

XmlTextReader(String, XmlNodeType, XmlParserContext)

Инициализирует новый экземпляр класса XmlTextReader с указанной строкой, XmlNodeType и XmlParserContext.

XmlTextReader(String, TextReader, XmlNameTable)

Инициализирует новый экземпляр класса XmlTextReader с указанным URL-адресом, TextReader и XmlNameTable.

XmlTextReader(String, Stream, XmlNameTable)

Инициализирует новый экземпляр класса XmlTextReader с указанными URL-адресом, потоком и XmlNameTable.

XmlTextReader(Stream, XmlNodeType, XmlParserContext)

Инициализирует новый экземпляр класса XmlTextReader с указанными потоком, XmlNodeType и XmlParserContext.

XmlTextReader(String, TextReader)

Инициализирует новый экземпляр класса XmlTextReader с указанным URL-адресом и TextReader.

XmlTextReader(String, Stream)

Инициализирует новый экземпляр класса XmlTextReader с указанным URL-адресом и потоком.

XmlTextReader(String, XmlNameTable)

Инициализирует новый экземпляр класса XmlTextReader с указанным файлом и XmlNameTable.

XmlTextReader(Stream, XmlNameTable)

Инициализирует новый экземпляр класса XmlTextReader с указанными потоком и XmlNameTable.

XmlTextReader(XmlNameTable)

Инициализирует новый экземпляр класса XmlTextReader указанным значением XmlNameTable.

XmlTextReader(String)

Инициализирует новый экземпляр класса XmlTextReader указанным именем файла.

XmlTextReader(TextReader)

Инициализирует новый экземпляр класса XmlTextReader указанным значением TextReader.

XmlTextReader(Stream)

Инициализирует новый экземпляр класса XmlTextReader с указанным потоком.

XmlTextReader(TextReader, XmlNameTable)

Инициализирует новый экземпляр класса XmlTextReader с заданными свойствами TextReader и XmlNameTable.

Комментарии

Примечание

Начиная с платформа .NET Framework 2.0 рекомендуется создавать XmlReader экземпляры с помощью XmlReader.Create метода , чтобы воспользоваться преимуществами новых функций.

XmlTextReader()

Исходный код:
XmlTextReader.cs
Исходный код:
XmlTextReader.cs
Исходный код:
XmlTextReader.cs

Инициализирует новый экземпляр класса XmlTextReader.

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

См. также раздел

Применяется к

XmlTextReader(String, XmlNodeType, XmlParserContext)

Исходный код:
XmlTextReader.cs
Исходный код:
XmlTextReader.cs
Исходный код:
XmlTextReader.cs

Инициализирует новый экземпляр класса XmlTextReader с указанной строкой, XmlNodeType и 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)

Параметры

xmlFragment
String

Строка, содержащая анализируемый фрагмент XML.

fragType
XmlNodeType

Тип XmlNodeType фрагмента XML. Также определяет содержимое строки фрагмента. (См. таблицу, приведенную ниже.)

context
XmlParserContext

XmlParserContext, в котором анализируется xmlFragment. Сюда входит используемый XmlNameTable объект , кодировка, область пространства имен, текущая xml:langи xml:space область.

Исключения

fragType не является Element, Attribute или DocumentXmlNodeType.

xmlFragment имеет значение null.

Примеры

В следующем примере выполняется синтаксический анализ ФРАГМЕНТа XML. Он использует XmlParserContext и для XmlNamespaceManager обработки разрешения пространства имен.

#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

Комментарии

Примечание

Начиная с платформа .NET Framework 2.0 рекомендуется создавать XmlReader экземпляры с помощью XmlReader.Create метода , чтобы воспользоваться преимуществами новых функций.

Этот конструктор анализирует заданную строку как фрагмент XML. Если фрагмент XML является элементом или атрибутом, можно обойти правила корневого уровня для XML-документов правильного формата. Этот конструктор может обрабатывать строки, возвращаемые из ReadInnerXml.

В следующей таблице перечислены допустимые значения и fragType способ синтаксического анализа каждого из разных типов узлов.

Тип узла XML Фрагмент может содержать
Элемент Любое допустимое содержимое элемента (например, любое сочетание элементов, комментариев, инструкций по обработке, разделов CDATA, текста и ссылок на сущности).

Также можно передавать XML-декларацию. Это позволяет указать кодировку для фрагмента XML, а не задавать ее для XmlParserContext объекта .
attribute Значение атрибута (часть внутри кавычек).
Документ Содержимое всего XML-документа. При этом применяются правила уровня документа.

См. также раздел

Применяется к

XmlTextReader(String, TextReader, XmlNameTable)

Исходный код:
XmlTextReader.cs
Исходный код:
XmlTextReader.cs
Исходный код:
XmlTextReader.cs

Инициализирует новый экземпляр класса XmlTextReader с указанным URL-адресом, TextReader и 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)

Параметры

url
String

URL-адрес, используемый для разрешения внешних ресурсов. Для свойства BaseURI задано это значение. Если значение url равно null, то BaseURI присваивается значение String.Empty.

input
TextReader

TextReader, содержащий считываемые XML-данные.

nt
XmlNameTable

Используемый XmlNameTable.

Исключения

Значение nt равно null.

Комментарии

Примечание

Начиная с платформа .NET Framework 2.0 рекомендуется создавать XmlReader экземпляры с помощью XmlReader.Create метода , чтобы воспользоваться преимуществами новых функций.

Предполагается, что для TextReader задана верная кодировка. Этот параметр используется клиентами, которые уже считывают некоторые элементы из потока в многокомпонентном сценарии MIME.

См. также раздел

Применяется к

XmlTextReader(String, Stream, XmlNameTable)

Исходный код:
XmlTextReader.cs
Исходный код:
XmlTextReader.cs
Исходный код:
XmlTextReader.cs

Инициализирует новый экземпляр класса XmlTextReader с указанными URL-адресом, потоком и 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)

Параметры

url
String

URL-адрес, используемый для разрешения внешних ресурсов. Для свойства BaseURI задано это значение. Если значение url равно null, то BaseURI присваивается значение String.Empty.

input
Stream

Поток, содержащий считываемые XML-данные.

nt
XmlNameTable

Используемый XmlNameTable.

Исключения

Параметру input или nt задано значение null.

Комментарии

Примечание

Начиная с платформа .NET Framework 2.0 рекомендуется создавать XmlReader экземпляры с помощью XmlReader.Create метода , чтобы воспользоваться преимуществами новых функций.

См. также раздел

Применяется к

XmlTextReader(Stream, XmlNodeType, XmlParserContext)

Исходный код:
XmlTextReader.cs
Исходный код:
XmlTextReader.cs
Исходный код:
XmlTextReader.cs

Инициализирует новый экземпляр класса XmlTextReader с указанными потоком, XmlNodeType и 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)

Параметры

xmlFragment
Stream

Поток, содержащий анализируемый фрагмент XML.

fragType
XmlNodeType

Тип XmlNodeType фрагмента XML. Также определяет содержимое фрагмента. (См. таблицу, приведенную ниже.)

context
XmlParserContext

XmlParserContext, в котором анализируется xmlFragment. Сюда входит используемый XmlNameTable объект , кодировка, область пространства имен, текущая xml:langи xml:space область.

Исключения

fragType не является элементом, атрибутом и документом XmlNodeType.

xmlFragment имеет значение null.

Комментарии

Примечание

Начиная с платформа .NET Framework 2.0 рекомендуется создавать XmlReader экземпляры с помощью XmlReader.Create метода , чтобы воспользоваться преимуществами новых функций.

Этот конструктор анализирует заданную строку как фрагмент XML. Если фрагмент XML является элементом или атрибутом, можно обойти правила корневого уровня для XML-документов правильного формата.

В следующей таблице перечислены допустимые значения для fragType.

Тип узла XML Фрагмент может содержать
Element Любое допустимое содержимое элемента (например, любое сочетание элементов, комментариев, инструкций по обработке, разделов CDATA, текста и ссылок на сущности).

Также можно передавать XML-декларацию. Это позволяет указать кодировку для фрагмента XML, а не задавать ее для XmlParserContext объекта .
Attribute Значение атрибута (часть внутри кавычек).
Document Содержимое всего XML-документа. При этом применяются правила уровня документа.

Средство чтения использует следующую команду для определения кодировки потока.

  1. Проверяет свойство , XmlParserContext.Encoding чтобы определить кодировку.

  2. Encoding Если свойство имеет значение null, средство чтения проверяет метку порядка байтов в начале потока.

  3. Encoding Если свойство имеет значение nullи метка порядка байтов не найдена, средство чтения предполагает, что поток закодирован в UTF-8.

См. также раздел

Применяется к

XmlTextReader(String, TextReader)

Исходный код:
XmlTextReader.cs
Исходный код:
XmlTextReader.cs
Исходный код:
XmlTextReader.cs

Инициализирует новый экземпляр класса XmlTextReader с указанным URL-адресом и 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)

Параметры

url
String

URL-адрес, используемый для разрешения внешних ресурсов. Для свойства BaseURI задано это значение.

input
TextReader

TextReader, содержащий считываемые XML-данные.

Комментарии

Примечание

Начиная с платформа .NET Framework 2.0 рекомендуется создавать XmlReader экземпляры с помощью XmlReader.Create метода , чтобы воспользоваться преимуществами новых функций.

Предполагается, что для TextReader задана верная кодировка. Этот параметр используется клиентами, которые уже считывают некоторые элементы из потока в многокомпонентном сценарии MIME.

См. также раздел

Применяется к

XmlTextReader(String, Stream)

Исходный код:
XmlTextReader.cs
Исходный код:
XmlTextReader.cs
Исходный код:
XmlTextReader.cs

Инициализирует новый экземпляр класса XmlTextReader с указанным URL-адресом и потоком.

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)

Параметры

url
String

URL-адрес, используемый для разрешения внешних ресурсов. Для свойства BaseURI задано это значение.

input
Stream

Поток, содержащий считываемые XML-данные.

Исключения

input имеет значение null.

Комментарии

Примечание

Начиная с платформа .NET Framework 2.0 рекомендуется создавать XmlReader экземпляры с помощью XmlReader.Create метода , чтобы воспользоваться преимуществами новых функций.

См. также раздел

Применяется к

XmlTextReader(String, XmlNameTable)

Исходный код:
XmlTextReader.cs
Исходный код:
XmlTextReader.cs
Исходный код:
XmlTextReader.cs

Инициализирует новый экземпляр класса XmlTextReader с указанным файлом и 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)

Параметры

url
String

URL-адрес файла, содержащего считываемые данные XML.

nt
XmlNameTable

Используемый XmlNameTable.

Исключения

Значение nt равно null.

Не удается найти указанный файл.

Не удается найти часть имени файла или каталога.

Параметр url равен пустой строке.

Не удается разрешить удаленное имя файла.

-или-

При обработке этого запроса возникла ошибка.

url не является допустимым URI.

Комментарии

Примечание

Начиная с платформа .NET Framework 2.0 рекомендуется создавать XmlReader экземпляры с помощью XmlReader.Create метода , чтобы воспользоваться преимуществами новых функций.

См. также раздел

Применяется к

XmlTextReader(Stream, XmlNameTable)

Исходный код:
XmlTextReader.cs
Исходный код:
XmlTextReader.cs
Исходный код:
XmlTextReader.cs

Инициализирует новый экземпляр класса XmlTextReader с указанными потоком и 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)

Параметры

input
Stream

Поток, содержащий считываемые XML-данные.

nt
XmlNameTable

Используемый XmlNameTable.

Исключения

Параметру input или nt задано значение null.

Комментарии

Примечание

Начиная с платформа .NET Framework 2.0 рекомендуется создавать XmlReader экземпляры с помощью XmlReader.Create метода , чтобы воспользоваться преимуществами новых функций.

Декодирует XmlTextReader поток с помощью System.Text.Encoding.

Если указать таблицу имен, этот конструктор использует имена, уже определенные в этой таблице.

См. также раздел

Применяется к

XmlTextReader(XmlNameTable)

Исходный код:
XmlTextReader.cs
Исходный код:
XmlTextReader.cs
Исходный код:
XmlTextReader.cs

Инициализирует новый экземпляр класса XmlTextReader указанным значением 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)

Параметры

nt
XmlNameTable

Используемый XmlNameTable.

Комментарии

Примечание

Начиная с платформа .NET Framework 2.0 рекомендуется создавать XmlReader экземпляры с помощью XmlReader.Create метода , чтобы воспользоваться преимуществами новых функций.

См. также раздел

Применяется к

XmlTextReader(String)

Исходный код:
XmlTextReader.cs
Исходный код:
XmlTextReader.cs
Исходный код:
XmlTextReader.cs

Инициализирует новый экземпляр класса XmlTextReader указанным именем файла.

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

Параметры

url
String

URL-адрес файла с XML-данными. Для свойства BaseURI задано это значение.

Исключения

Не удается найти указанный файл.

Не удается найти часть имени файла или каталога.

Параметр url равен пустой строке.

Не удается разрешить удаленное имя файла.

-или-

При обработке этого запроса возникла ошибка.

url не является допустимым URI.

Примеры

В следующем примере считывается XML-файл и отображается каждый из узлов.

#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

В этом примере в качестве входных данных используется файл items.xml.


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

Комментарии

Примечание

Начиная с платформа .NET Framework 2.0 рекомендуется создавать XmlReader экземпляры с помощью XmlReader.Create метода , чтобы воспользоваться преимуществами новых функций.

Если файл находится в ресурсе, которому требуются учетные данные для доступа, используйте XmlResolver свойство , чтобы указать необходимые учетные данные.

Примечание

В версии 1.1 платформа .NET Framework частично доверенный код не может задать XmlResolver свойство . Обходной путь — создать XmlUrlResolver с необходимыми учетными данными, передать URI XmlUrlResolver.GetEntity в метод, а затем создать XmlTextReader с помощью результирующего Stream объекта. Обходной путь описан в следующем коде 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);

См. также раздел

Применяется к

XmlTextReader(TextReader)

Исходный код:
XmlTextReader.cs
Исходный код:
XmlTextReader.cs
Исходный код:
XmlTextReader.cs

Инициализирует новый экземпляр класса XmlTextReader указанным значением 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)

Параметры

input
TextReader

TextReader, содержащий считываемые XML-данные.

Примеры

В следующем примере xml-строка загружается в XmlTextReader объект с помощью StringReader класса .

#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

Комментарии

Примечание

Начиная с платформа .NET Framework 2.0 рекомендуется создавать XmlReader экземпляры с помощью XmlReader.Create метода , чтобы воспользоваться преимуществами новых функций.

Предполагается, что для TextReader задана верная кодировка. Этот параметр используется клиентами, которые уже считывают некоторые элементы из потока в многокомпонентном сценарии MIME.

См. также раздел

Применяется к

XmlTextReader(Stream)

Исходный код:
XmlTextReader.cs
Исходный код:
XmlTextReader.cs
Исходный код:
XmlTextReader.cs

Инициализирует новый экземпляр класса XmlTextReader с указанным потоком.

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)

Параметры

input
Stream

Поток, содержащий считываемые XML-данные.

Исключения

input имеет значение null.

Комментарии

Примечание

Начиная с платформа .NET Framework 2.0 рекомендуется создавать XmlReader экземпляры с помощью XmlReader.Create метода , чтобы воспользоваться преимуществами новых функций.

Декодирует XmlTextReader поток с помощью System.Text.Encoding.

См. также раздел

Применяется к

XmlTextReader(TextReader, XmlNameTable)

Исходный код:
XmlTextReader.cs
Исходный код:
XmlTextReader.cs
Исходный код:
XmlTextReader.cs

Инициализирует новый экземпляр класса XmlTextReader с заданными свойствами TextReader и 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)

Параметры

input
TextReader

TextReader, содержащий считываемые XML-данные.

nt
XmlNameTable

Используемый XmlNameTable.

Исключения

Значение ntnull.

Комментарии

Примечание

Начиная с платформа .NET Framework 2.0 рекомендуется создавать XmlReader экземпляры с помощью XmlReader.Create метода , чтобы воспользоваться преимуществами новых функций.

Предполагается, что для TextReader задана верная кодировка. Этот параметр используется клиентами, которые уже считывают некоторые элементы из потока в многокомпонентном сценарии MIME.

См. также раздел

Применяется к