XML C#

Select a Set of XML Nodes

This C# program demonstrates how to select a set of XML nodes from an existing XML document.

Program.cs

using System;
using System.Xml;
using System.Xml.Serialization;

namespace XoaX {
    class Program {
        static void Main(string[] args) {
            // Create the XmlDocument.
            XmlDocument qXmlDoc = new XmlDocument();
            qXmlDoc.LoadXml("<?xml version='1.0' ?>" +
                "<virtues>" +
                "<virtue type='cardinal'>" +
                "<name>Prudence</name>" +
                "<definition>It discerns our true good and chooses the right means of " +
                    "achieving it.</definition>" +
                "</virtue>" +
                "<virtue type='theological'><name>Faith</name></virtue>" +
                "<virtue type='lively'><name>Chastity</name></virtue>" +
                "<virtue type='lively'><name>Humility</name></virtue>" +
                "</virtues>");

            // Serialize the XML document to display it.
            Console.WriteLine("The XML Document:");
            XmlSerializer qXmlSerializerNode = new XmlSerializer(typeof(XmlDocument));
            qXmlSerializerNode.Serialize(Console.Out, qXmlDoc);

            // Serialize the XML nodes to display them.
            Console.WriteLine();
            Console.WriteLine();
            Console.WriteLine("Selected Nodes:");
            XmlNodeList qNodes = qXmlDoc.SelectNodes("virtues/virtue");
            foreach (XmlNode qNode in qNodes) {
                XmlSerializer qXmlNodeSerializer = new XmlSerializer(typeof(XmlNode));
                qXmlNodeSerializer.Serialize(Console.Out, qNode);
            }
        }
    }
}
 

Output

The XML Document:
<?xml version="1.0" encoding="IBM437"?>
<virtues>
  <virtue type="cardinal">
    <name>Prudence</name>
    <definition>It discerns our true good and chooses the right means of achieving it.</definition>
  </virtue>
  <virtue type="theological">
    <name>Faith</name>
  </virtue>
  <virtue type="lively">
    <name>Chastity</name>
  </virtue>
  <virtue type="lively">
    <name>Humility</name>
  </virtue>
</virtues>

Selected Nodes:
<?xml version="1.0" encoding="IBM437"?>
<virtue type="cardinal">
  <name>Prudence</name>
  <definition>It discerns our true good and chooses the right means of achieving it.</definition>
</virtue><?xml version="1.0" encoding="IBM437"?>
<virtue type="theological">
  <name>Faith</name>
</virtue><?xml version="1.0" encoding="IBM437"?>
<virtue type="lively">
  <name>Chastity</name>
</virtue><?xml version="1.0" encoding="IBM437"?>
<virtue type="lively">
  <name>Humility</name>
</virtue>Press any key to continue . . .
 
 

© 2007–2025 XoaX.net LLC. All rights reserved.