Avatar billede thomasabcd Nybegynder
30. juni 2006 - 20:38 Der er 3 kommentarer og
1 løsning

Sortering af XML-document

Hvordan sorterer jeg et XML-dokument?

Jeg har sorteret via noget XPath:
System.Xml.XPath.XPathNavigator nav = xml.CreateNavigator();
System.Xml.XPath.XPathExpression expr = nav.Compile("/Addressbook/Friend");
expr.AddSort(".//SignIn[@signedIn]",System.Xml.XPath.XmlSortOrder.Descending,System.Xml.XPath.XmlCaseOrder.None,"",System.Xml.XPath.XmlDataType.Text);

System.Xml.XPath.XPathNodeIterator iterator = nav.Select(expr);

... men hvordan gør jeg det samme med selve XML-dokumentet?
Avatar billede verakso Nybegynder
30. juni 2006 - 21:41 #1
Jeg er ikke helt sikker på, hvad det er du ønsker at sortere.

Normalt ville jeg sortere XML data via et StyleSheet XSL, men jeg er sikkert bare old school. Ellers ville jeg indlæse XML data i eks. et Array og så sortere det der, men afhængigt af hvor komplekst det er, kan det også blive noget rod.
Avatar billede thomasabcd Nybegynder
01. juli 2006 - 01:16 #2
Jeg har et XML-dokument, som ikke er sortert, men jeg skal bruge en sorteret udgave af XML-dokumentet. Spørgsmålet er så, hvordan jeg sorterer XML-dokumentet? Jeg kan godt hive noget sorteret data ud via ovenstående XPathNavigator og XPathNodeIterator. I det tilfælde er det XPathNodeIteratoren der holder de sorterede data, men hvordan gør jeg det samme med XML-dokumentet?
Avatar billede verakso Nybegynder
01. juli 2006 - 14:19 #3
Igen ville jeg nok lave et stylesheet der sorterede og formaterede mit XML dokument som jeg ville have det til at se ud, se eks. http://www.w3schools.com/xsl/xsl_sort.asp
og så dernæst transformere mit XML dokument om til et nyt XML dokument ala:

System.Xml.Xsl.XslTransform xslt = new System.Xml.Xsl.XslTransform();
xslt.Load(new XmlTextReader(xslFile));
xslt.Transform(xmlFileOrg, xmlFileNew);
Avatar billede thomasabcd Nybegynder
16. februar 2008 - 10:12 #4
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester