This topic has not yet been rated - Rate this topic

XmlReader.ReadElementString Method

Reads a text-only element.

Namespace:  System.Xml
Assembly:  System.Xml (in System.Xml.dll)
public virtual string ReadElementString()

Return Value

Type: System.String
The text contained in the element that was read. An empty string if the element is empty (<item></item> or <item/>).
ExceptionCondition
XmlException

The next content node is not a start tag; or the element found does not contain a simple text value.

InvalidOperationException

An XmlReader method was called before a previous asynchronous operation finished. In this case, InvalidOperationException is thrown with the message “An asynchronous operation is already in progress.”

This is a helper method for reading simple text-only elements. It calls MoveToContent to find the next content node and then parses its value as a simple string.

Using the XML, <name>Arlene Huff</name>, ReadElementString consumes the element and returns the string Arlene Huff.

This method cannot handle any markup (child elements, comments, processing instructions, and so on) inside the name element, but it can concatenate multiple adjacent text and CDATA blocks.

After calling this method the reader will be positioned on the node following the EndElement node or after the empty element tag.

For the asynchronous version of this method, see ReadElementStringAsync.

The following example uses ReadElementString to read the contents of the element nodes.

using System;
using System.Xml;

public class Sample
{
  private const String filename = "book.xml";

  public static void Main()
  {
    XmlTextReader reader = null;

    try
    {           
      // Load the file and ignore all white space.
      reader = new XmlTextReader(filename);
      reader.WhitespaceHandling = WhitespaceHandling.None;

      // Moves the reader to the root element.
      reader.MoveToContent();

      // Read the title and price elements.
      Console.WriteLine("Content of the title element: {0}", reader.ReadElementString());
      Console.WriteLine("Content of the price element: {0}", reader.ReadElementString());; 

    }
    finally
    {
      if (reader!=null)
        reader.Close();
    }
  }
} // End class

The example uses the data file book.xml:


<!--sample XML fragment-->
<book genre='novel' ISBN='1-861003-78' misc='sale-item'>
  <title>The Handmaid's Tale</title>
  <price>14.95</price>
</book>

.NET Framework

Supported in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Did you find this helpful?
(1500 characters remaining)
© 2013 Microsoft. All rights reserved.