Skip to Main Content
C# in a Nutshell
book

C# in a Nutshell

by Ben Albahari, Ted Neward, Peter Drayton
March 2002
Intermediate to advanced content levelIntermediate to advanced
864 pages
31h 8m
English
O'Reilly Media, Inc.
Content preview from C# in a Nutshell

Parsing an XML Stream

Of course, simply reading and writing XML in this form, while of some use, is somewhat limiting. Much of XML’s attraction is in its ability to provide structure over data; using XmlReader “in the raw,” however, hides the very hierarchical structure XML imposes. In many cases, XML data is best viewed as an arranged tree of data, complete with the XML structuring elements (the tags and attributes surrounding the data) found within it.

Fortunately, the .NET XML architecture supports such a view, using the XmlDocument class to model the entire XML document itself. To see the hierarchical structure in an XML document, you must first pass the XML into the XmlDocument instance for parsing:

XmlDocument doc = new XmlDocument();
doc.Load(new XmlReader( ));

Alternatively, you can use LoadXml to parse an arbitrary string instance.

Once the XmlDocument is populated with data, the document’s document element can be obtained from the XmlDocument instance via the DocumentElement property. From there, it is a simple matter to walk the various child nodes, all the way to the elements of interest:

XmlNode docNode = doc.DocumentElement;
//print out all the first-level children
foreach (XmlNode n in docNode.ChildNodes)
  System.Console.WriteLine(n.Name);

At this point, navigation becomes an exercise in using the various properties and methods on XmlNode. The Attributes property returns an XmlAttributeCollection containing the attributes (if any) on this node, the ChildNodes property (shown ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

C# 8.0 in a Nutshell

C# 8.0 in a Nutshell

Joseph Albahari, Eric Johannsen
C# 10 in a Nutshell

C# 10 in a Nutshell

Joseph Albahari
C# in a Nutshell, Second Edition

C# in a Nutshell, Second Edition

Peter Drayton, Ben Albahari, Ted Neward
Code like a Pro in C#

Code like a Pro in C#

Jort Rodenburg

Publisher Resources

ISBN: 0596001819Catalog PageErrata