2 Stimmen

Wie sortiert man XML-Elemente in Java?

Ich versuche, XML-Dokumente nach ihren Knoten zu sortieren. Was ist eine effiziente Sortiermethode?

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.

3voto

Tendayi Mawushe Punkte 24821

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 .

2voto

dogbane Punkte 253146

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) {

}

1voto

Pierre Punkte 32911

Sie können die Knoten eines XML-Dokuments sortieren, indem Sie XSLT-Sortierung

0voto

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X