This C# program demonstrates how to select a set of XML nodes from an existing XML document.
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);
}
}
}
}
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 . . .
© 20072025 XoaX.net LLC. All rights reserved.