Click here to Skip to main content
15,914,221 members
Home / Discussions / XML / XSL
   

XML / XSL

 
AnswerRe: Hyperlink in XML Pin
ThatsAlok31-May-06 0:20
ThatsAlok31-May-06 0:20 
AnswerRe: Hyperlink in XML Pin
George L. Jackson17-May-06 10:38
George L. Jackson17-May-06 10:38 
QuestionCan I use IXMLDOMDocumentPtr object in VC++6 Pin
Cyber Friend17-May-06 2:02
Cyber Friend17-May-06 2:02 
AnswerRe: Can I use IXMLDOMDocumentPtr object in VC++6 Pin
George L. Jackson17-May-06 8:43
George L. Jackson17-May-06 8:43 
QuestionExport xml to excel using servlet Pin
vidya dumbel16-May-06 18:40
vidya dumbel16-May-06 18:40 
QuestionXML and sorting Pin
donkaiser16-May-06 8:39
donkaiser16-May-06 8:39 
AnswerRe: XML and sorting Pin
donkaiser16-May-06 8:42
donkaiser16-May-06 8:42 
AnswerRe: XML and sorting Pin
George L. Jackson16-May-06 17:30
George L. Jackson16-May-06 17:30 
I did this in a hurry. The XSLT coding sample seems more complicated since I used strings for the xml and xslt.

using System;
using System.IO;
using System.Text;
using System.Xml;
using System.Xml.XPath;
using System.Xml.Xsl;

namespace SortXml
{
class Program
{
static void Main(string[] args)
{
string xml =
"<?xml version='1.0'?>" +
"<Books>" +
"<Book>" +
"<Title>Advanced XML</Title>" +
"<Publisher>Lucerne Publishing</Publisher>" +
"</Book>" +
"<Book>" +
"<Title>Learn XML Today</Title>" +
"<Publisher>MSPress</Publisher>" +
"</Book>" +
"<Book>" +
"<Title>XML for Gurus</Title>" +
"<Publisher>Lucerne Publishing</Publisher>" +
"</Book>" +
"<Book>" +
"<Title>Developing XML solutions</Title>" +
"<Publisher>MSPress</Publisher>" +
"</Book>" +
"</Books>";

XmlDocument doc = new XmlDocument();
doc.LoadXml(xml);

XmlNodeList nodes =
doc.DocumentElement.SelectNodes(
"/Books/Book/Title/child::text()");

// Sorting using an array.

if (nodes.Count > 0)
{
string[] titles = new string[nodes.Count];

int i = 0;

foreach (XmlNode node in nodes)
{
titles[i++] = node.Value;
}

Array.Sort(titles);

foreach (string title in titles)
{
Console.WriteLine(title);
}
}

Console.WriteLine();

// Sorting using XSLT

string xslt =
"<xsl:stylesheet version='1.0' " +
"xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>" +
"<xsl:template match='/ | @* | node()'>" +
"<xsl:copy>" +
"<xsl:apply-templates select='@* | node()'>" +
"<xsl:sort select='Title'/>" +
"</xsl:apply-templates>" +
"</xsl:copy>" +
"</xsl:template>" +
"</xsl:stylesheet>";

XslCompiledTransform xct = new XslCompiledTransform();
StringReader strXslStr = new StringReader(xslt);
XmlReader rdrXsl = XmlReader.Create(strXslStr);
xct.Load(rdrXsl);
rdrXsl.Close();
strXslStr.Close();

XPathNavigator xpnav = doc.CreateNavigator();
StringBuilder sbXml = new StringBuilder();
XmlWriter sortedXml = XmlWriter.Create(sbXml);
xct.Transform(xpnav, sortedXml);
doc.LoadXml(sbXml.ToString());
sortedXml.Close();

nodes = doc.DocumentElement.SelectNodes(
"/Books/Book/Title/child::text()");

if (nodes.Count > 0)
{
foreach (XmlNode node in nodes)
{
Console.WriteLine(node.Value);
}
}

}
}
}
-- modified at 23:47 Tuesday 16th May, 2006
GeneralRe: XML and sorting Pin
donkaiser17-May-06 3:41
donkaiser17-May-06 3:41 
AnswerRe: XML and sorting Pin
George L. Jackson17-May-06 4:34
George L. Jackson17-May-06 4:34 
GeneralRe: XML and sorting Pin
donkaiser18-May-06 3:20
donkaiser18-May-06 3:20 
GeneralRe: XML and sorting Pin
George L. Jackson18-May-06 11:59
George L. Jackson18-May-06 11:59 
AnswerRe: XML and sorting Pin
led mike16-May-06 8:57
led mike16-May-06 8:57 
QuestionHelp mapping & updating xml files data to tables of MS Access database through vc++ Pin
nrj2315-May-06 17:39
nrj2315-May-06 17:39 
AnswerRe: Help mapping & updating xml files data to tables of MS Access database through vc++ Pin
led mike16-May-06 15:28
led mike16-May-06 15:28 
GeneralRe: Help mapping & updating xml files data to tables of MS Access database through vc++ Pin
nrj2316-May-06 20:28
nrj2316-May-06 20:28 
GeneralRe: Help mapping & updating xml files data to tables of MS Access database through vc++ Pin
led mike16-May-06 21:10
led mike16-May-06 21:10 
GeneralRe: Help mapping & updating xml files data to tables of MS Access database through vc++ Pin
George L. Jackson17-May-06 10:36
George L. Jackson17-May-06 10:36 
QuestionReading XML data from String Pin
Andrei Ungureanu15-May-06 1:48
Andrei Ungureanu15-May-06 1:48 
AnswerRe: Reading XML data from String Pin
imsathy15-May-06 4:48
imsathy15-May-06 4:48 
AnswerRe: Reading XML data from String Pin
George L. Jackson16-May-06 2:34
George L. Jackson16-May-06 2:34 
QuestionSaving Data to XML Pin
Illegal Operation14-May-06 19:27
Illegal Operation14-May-06 19:27 
AnswerRe: Saving Data to XML Pin
led mike15-May-06 6:38
led mike15-May-06 6:38 
AnswerRe: Saving Data to XML Pin
BoneSoft17-May-06 8:35
BoneSoft17-May-06 8:35 
Questionxs:enumeration as combo box options? Pin
rajasridhar12-May-06 12:22
rajasridhar12-May-06 12:22 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.