XmlReader.Value Property
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
When overridden in a derived class, gets the text value of the current node.
Assembly: System.Xml (in System.Xml.dll)
Property Value
Type: System.StringThe value returned depends on the NodeType of the node. The following table lists node types that have a value to return. All other node types return String.Empty.
Node type | Value |
|---|---|
Attribute | The value of the attribute. |
CDATA | The content of the CDATA section. |
Comment | The content of the comment. |
DocumentType | The internal subset. |
ProcessingInstruction | The entire content, excluding the target. |
SignificantWhitespace | The white space between markup in a mixed content model. |
Text | The content of the text node. |
Whitespace | The white space between markup. |
XmlDeclaration | The content of the declaration. |
StringBuilder output = new StringBuilder(); String xmlString = @"<bookstore> <book genre='novel' ISBN='10-861003-324'> <title>The Handmaid's Tale</title> <price>19.95</price> </book> <book genre='novel' ISBN='1-861001-57-5'> <title>Pride And Prejudice</title> <price>24.95</price> </book> </bookstore>"; // Load the file and ignore all white space. XmlReaderSettings settings = new XmlReaderSettings(); settings.IgnoreWhitespace = true; using (XmlReader reader = XmlReader.Create(new StringReader(xmlString), settings)) { // Move the reader to the second book node. reader.MoveToContent(); reader.ReadToDescendant("book"); reader.Skip(); //Skip the first book. // Parse the file starting with the second book node. do { switch (reader.NodeType) { case XmlNodeType.Element: output.AppendLine("<" + reader.Name); while (reader.MoveToNextAttribute()) { output.AppendLine(" " + reader.Name + "=" + reader.Value); } output.AppendLine(">"); break; case XmlNodeType.Text: output.AppendLine(reader.Value); break; case XmlNodeType.EndElement: output.AppendLine("</" + reader.Name + ">"); break; } } while (reader.Read()); } OutputTextBlock.Text = output.ToString();