Ordenar un XML en Java

Hola, tengo un XML similar al siguiente, que necesitaba ser ordenado usando el campo de fecha.

<root> 
    <Node1>
        <date></date> 
    </Node1> 
    <Node1> 
        <date></date> 
    </Node1> 
    <Node1> 
        <date></date> 
    </Node1> 
    <Node1> 
        <date></date> 
    </Node1> 
    <Node2> 
        <date></date> 
    </Node2> 
    <Node2> 
        <date></date> 
    </Node2> 
    <Node2> 
        <date></date> 
    </Node2> 
    <Node2> 
        <date></date> 
    </Node2> 
</root>

Me gustaría ordenar el XML en función de la fecha (por ejemplo, orden de asc), independientemente de si la fecha está en Nodo1 o Nodo2. En realidad, en el código Java tengo dos listas separadas, una con objetos Node1 y otra con Node2 obedece. Puedo ordenar la lista en cualquier orden dentro de Java. Pero necesito tener las fechas ordenadas independientemente de los nodos que aparecen en el XML.¿Cuál es el mejor enfoque para ordenar de esta manera en Java?

Actaully estoy usando Castor para ordenar los objetos de Java a XML. Si sabes que esto se puede hacer con Castor, ¡será genial!

Respuestas a la pregunta(4)

Su respuesta a la pregunta