Ich versuche, XML-Dokumente nach ihren Knoten zu sortieren. Was ist eine effiziente Sortiermethode?
Antworten
Zu viele Anzeigen?Mir ist kein XML-Parser bekannt, der die Sortierung von Elementen ohne weiteres ermöglicht, da XML-Elemente keine natürliche Sortierreihenfolge haben. Das liegt daran, dass in der XML-Spezifikation die Sortierreihenfolge der Elemente eine Rolle spielt. Daher sollte kein Code, der ein beliebiges Stück XML parst, irgendwelche Annahmen über die Reihenfolge der Elemente machen.
Wenn Sie die Elemente sortiert haben möchten, müssen Sie das XML-Dokument mit Ihrem bevorzugten XML-Parser parsen und die Elemente selbst sortieren. Alternativ können Sie das Dokument auch mit XSLT .
Eine Alternative zum XSLT-Ansatz besteht darin, eine eigene Utility-Methode zu schreiben, die die Kinder eines bestimmten Knotens in absteigender oder aufsteigender Reihenfolge sortiert und dabei einen bestimmten Comparator verwendet.
public static void sortChildNodes(Node node, Comparator comparator, boolean descending) {
}
Sie können die Knoten eines XML-Dokuments sortieren, indem Sie XSLT-Sortierung
Ich würde Ihnen dringend empfehlen, XSLT zu lernen, da es sich sehr gut für die Bearbeitung von XML-Dokumenten eignet, einschließlich Sortierung usw. Java bietet als Teil der Standard-Laufzeitbibliothek gute Unterstützung für die Ausführung von XSLT auf Dateien und In-Memory-Strukturen.
Die Verwendung von
<xsl:sort select="..."/>
ist gut beschrieben unter http://www.xml.com/pub/a/2002/07/03/transform.html
0 Stimmen
Können Sie uns zeigen, wie Ihr XML-Dokument aussieht und wie Sie es sortieren möchten?
0 Stimmen
Geben Sie das Dokument aus, oder haben Sie ein fertiges Dokument und müssen es ausgeben? Ist die Struktur flach? Möchten Sie nur die Knoten der obersten Ebene sortieren? Nach welchen Kriterien - Knotenname, Attribute, Knoteninhalt?
0 Stimmen
Ich meine, dass ich Xml-Elemente in Java sortieren möchte. Zum Beispiel, in einer bibliographischen Daten, Xml-Dokument wird durch "Titel" Elemente / Knoten sortiert.
0 Stimmen
Mögliche Duplikate von Sortieren einer XML-Datei in Java