XmlNodeReader.ReadString Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Считывает содержимое элемента или текстового узла в виде строки.
public:
override System::String ^ ReadString();
public override string ReadString();
override this.ReadString : unit -> string
Public Overrides Function ReadString () As String
Возвращаемое значение
Содержимое элемента или текстового узла (это может включать CDATA, текстовые узлы и т. д.). Это может быть пустая строка, если средство чтения расположено на другом элементе или текстовом узле, или если в текущем контексте нет больше текстового содержимого.
Note: Текстовый узел может быть элементом или текстовым узлом атрибута.
Примеры
В следующем примере отображается текстовое содержимое каждого элемента.
using System;
using System.IO;
using System.Xml;
public class Sample
{
public static void Main()
{
XmlNodeReader reader = null;
try
{
//Create and load the XML document.
XmlDocument doc = new XmlDocument();
doc.LoadXml("<book>" +
"<title>Pride And Prejudice</title>" +
"<price>19.95</price>" +
"<misc/>" +
"</book>");
//Load the XmlNodeReader
reader = new XmlNodeReader(doc);
//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 XmlNodeReader = Nothing
Try
'Create and load the XML document.
Dim doc As New XmlDocument()
doc.LoadXml("<book>" & _
"<title>Pride And Prejudice</title>" & _
"<price>19.95</price>" & _
"<misc/>" & _
"</book>")
'Load the XmlNodeReader
reader = New XmlNodeReader(doc)
'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
Комментарии
Note
Чтобы воспользоваться преимуществами новых функций, рекомендуется создавать XmlReader экземпляры с помощью XmlReaderSettings класса и Create метода. Дополнительные сведения см. в разделе "Примечания" на справочной XmlReader странице.
Если он расположен на элементе, объединяет все тексты, ReadString значительные пробелы, пробелы и типы узлов раздела CData и возвращают объединенные данные в качестве содержимого элемента. Она останавливается при обнаружении любой разметки. Это может произойти в смешанной модели содержимого или при чтении конечного тега элемента.
При расположении на текстовом ReadString узле выполняет то же объединение из текстового узла с конечным тегом элемента. Если средство чтения размещено на текстовом узле атрибута, имеет ту же функциональность, ReadString что и средство чтения в теге запуска элемента. Он возвращает все сцепленные текстовые узлы элемента.