XmlTextReader.ReadString Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Считывает содержимое элемента или текстового узла в виде строки.
public:
override System::String ^ ReadString();
public override string ReadString ();
override this.ReadString : unit -> string
Public Overrides Function ReadString () As String
Возвращаемое значение
Содержимое элемента или текстового узла. Если средство чтения позиционировано не на элемент или текстовый узел, а также если отсутствует возвращаемый текст, это может быть пустая строка.
Note:
Текстовым узлом может быть элемент или текстовой узел атрибута.
Исключения
Произошла ошибка при синтаксическом анализе XML.
Предпринята попытка выполнить недопустимую операцию.
Примеры
В следующем примере отображается текстовое содержимое каждого элемента.
#using <System.Xml.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
XmlTextReader^ reader = nullptr;
try
{
//Load the reader with the XML file.
reader = gcnew XmlTextReader( "elems.xml" );
//Parse the XML and display the text content of each of the elements.
while ( reader->Read() )
{
if ( reader->IsStartElement() )
{
if ( reader->IsEmptyElement )
Console::WriteLine( "<{0}/>", reader->Name );
else
{
Console::Write( "<{0}> ", reader->Name );
reader->Read(); //Read the start tag.
if ( reader->IsStartElement() )
//Handle nested elements.
Console::Write( "\r\n<{0}>", reader->Name );
Console::WriteLine( reader->ReadString() ); //Read the text content of the element.
}
}
}
}
finally
{
if ( reader != nullptr )
reader->Close();
}
}
using System;
using System.IO;
using System.Xml;
public class Sample
{
public static void Main()
{
XmlTextReader reader = null;
try
{
//Load the reader with the XML file.
reader = new XmlTextReader("elems.xml");
//Parse the XML and display the text content of each of the elements.
while (reader.Read()){
if (reader.IsStartElement()){
if (reader.IsEmptyElement)
{
Console.WriteLine("<{0}/>", reader.Name);
}
else
{
Console.Write("<{0}> ", reader.Name);
reader.Read(); //Read the start tag.
if (reader.IsStartElement()) //Handle nested elements.
Console.Write("\r\n<{0}>", reader.Name);
Console.WriteLine(reader.ReadString()); //Read the text content of the element.
}
}
}
}
finally
{
if (reader != null)
reader.Close();
}
}
} // End class
Option Strict
Option Explicit
Imports System.IO
Imports System.Xml
Public Class Sample
Public Shared Sub Main()
Dim reader As XmlTextReader = Nothing
Try
'Load the reader with the XML file.
reader = New XmlTextReader("elems.xml")
'Parse the XML and display the text content of each of the elements.
While reader.Read()
If reader.IsStartElement() Then
If reader.IsEmptyElement Then
Console.WriteLine("<{0}/>", reader.Name)
Else
Console.Write("<{0}>" + " ", reader.Name)
reader.Read() 'Read the start tag.
If (reader.IsStartElement()) 'Handle nested elements.
Console.WriteLine()
Console.Write("<{0}>", reader.Name)
End If
Console.WriteLine(reader.ReadString()) 'Read the text content of the element.
End If
End If
End While
Finally
If Not (reader Is Nothing) Then
reader.Close()
End If
End Try
End Sub
End Class
В этом примере файл elems.xml
используется в качестве входных данных.
<book>
<title>Pride And Prejudice</title>
<price>19.95</price>
<misc/>
</book>
Комментарии
Примечание
Начиная с версии платформа .NET Framework 2.0 рекомендуется создавать XmlReader экземпляры с помощью XmlReader.Create метода, чтобы воспользоваться преимуществами новых функциональных возможностей.
При расположении в элементе ReadString
объединяет весь текст, значительные пробелы, пробелы и CData
типы узлов разделов и возвращают объединенные данные в качестве содержимого элемента. Она останавливается при обнаружении разметки, включая комментарии и инструкции по обработке. Это может случиться в модели смешанного содержимого или во время считывания закрывающего тега элемента.
Если он расположен на текстовом узле, ReadString
выполняет то же объединение из текстового узла в конечный тег элемента. Если модуль чтения расположен в текстовом узле атрибута, метод ReadString
работает так же, как в случае, когда модуль чтения располагается в открывающем теге элемента, и возвращает все объединенные текстовые узлы элемента.