![]() |
Re: Wie in XML-Datei sortieren?
Hallo,
eine kliztekleine Frage habe ich noch zur Sortierung. :oops: Ich wiederhole noch mal kurz, ob ich euch auch Verstanden habe: Der Format-String(also diese
XML-Code:
XSL-Daten), der dem resourcenstring "fmtXSLdata" zugewiesen und der Formatierungsroutine "Format" übergeben werden soll, soll den Formatbezeichner "%s" enthalten (also so wie oben). Für s soll nun das Knotenattribut @id, @titel, @interpret, oder @genre gesetzt werden (unten ist in diesem Fall @titel eingetragen). Mit
<?xml version="1.0"?>
<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="[color=#ff001f]%s[/color]"/> </xsl:apply-templates> </xsl:copy> </xsl:template> </xsl:stylesheet>
Code:
arbeite ich auf dem DomObjekt (die XSL-Daten mit dem übergebenen Knotenattribut). Im Ganzen dann
xmlDoc.loadXML(xmlDoc.transformNode(xmlStyle));
Delphi-Quellcode:
Wenn das soweit richtig ist, dann sieht das so
procedure TfrmMain.sortXMLFile;
var xmlStyle: IXMLDOMDocument; i : integer; begin xmlStyle := CoDomDocument.Create; xmlStyle.async := false; {nächste Zeile entfällt da der resourcenstring die XSL-Daten enthalten soll.} //xmlStyle.load(FAppPath + 'dataSort.xsl'); xmlStyle.loadXML(Format(fmtXSLdata, ['@titel'])); xmlDoc.loadXML(xmlDoc.transformNode(xmlStyle)); cds := XMLDoc.documentElement.selectNodes('cd'); ... end;
Delphi-Quellcode:
aus. Muss ja, meine Daten werden auf jedenfall sortiert. Ohne jetzt undankbar zu wirken, kann man das im Code verschönern?
resourcestring
fmtXSLdata = '<?xml version="1.0"?>' + '<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="%s"/>' + '</xsl:apply-templates>' + '</xsl:copy>'+ '</xsl:template>'+ '</xsl:stylesheet>'; Grüße |
Re: Wie in XML-Datei sortieren?
Alles klappt?
Nur noch schöner soll es werden? Du meinst den resourcestring verschönern? Der ist doch schon hübsch! Aber ich hätte noch ein paar Hinweise für dich, die du vielleicht jetzt noch nicht einordnen kannst, aber an die du dich zu gegebener Zeit erinnern solltest. (1) titel ist bei dir Attribut nicht nur eines Element-Typs. (2) Wenn du dir unsicher bist, ob du ein Attribut oder ein Element zum Speichern einer Information verwenden sollst, dann nimm das Element. (3) Wenn du dir sicher bist, es müsste ein Attribut sein, dann prüfe dich selbst. Sobald du das Gefühl hast, darüber reden zu müssen, tue es. marabu |
Re: Wie in XML-Datei sortieren?
OK, bis denn dann...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:35 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz