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
или Document
XmlNodeType
.
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-документа. При этом применяются правила уровня документа. |
Средство чтения использует следующую команду для определения кодировки потока.
Проверяет свойство , XmlParserContext.Encoding чтобы определить кодировку.
Encoding
Если свойство имеет значениеnull
, средство чтения проверяет метку порядка байтов в начале потока.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
равен пустой строке.
Не удается разрешить удаленное имя файла.
-или-
При обработке этого запроса возникла ошибка.
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
.
Исключения
Значение nt
— null
.
Комментарии
Примечание
Начиная с платформа .NET Framework 2.0 рекомендуется создавать XmlReader экземпляры с помощью XmlReader.Create метода , чтобы воспользоваться преимуществами новых функций.
Предполагается, что для TextReader
задана верная кодировка. Этот параметр используется клиентами, которые уже считывают некоторые элементы из потока в многокомпонентном сценарии MIME.