Lendo xml

Como eu faço para ler um arquivo xml em java tipo esse arquivo xml que eu tenho logo abaixo:

<?xml version="1.0"?>
<!DOCTYPE catalogo [
<!ELEMENT catalogo (titulos)>
<!ELEMENT titulos (megadeth,metallica)>
<!ELEMENT megadeth (cd_1,cd_2,cd_3,cd_4 +)>
<!ELEMENT metallica (cd_1,cd_2 +)>
<!ELEMENT cd_1 (#PCDATA +)>
<!ELEMENT cd_2 (#PCDATA +)>
<!ELEMENT cd_3 (#PCDATA +)>
<!ELEMENT cd_4 (#PCDATA +)>
]>
<catalogo>
	<titulos>
		<megadeth>
			<cd_1>Rust in peace</cd_1>
			<cd_2>youthanasia</cd_2>
			<cd_3>Countdown to Exition</cd_3>
			<cd_4>The World Nedds a Hero</cd_4>
		</megadeth>
		<metallica>
			<cd_1>Master of Puppets</cd_1>
			<cd_2>Ride the Ligthing</cd_2>
		</metallica>
	</titulos>
</catalogo>

De uma olhada no SAX

PS: Metallica r0x!

Caro Puppets, antes de postar um tópico, por favor faça uma busca no fórum e no google. Este tema é frequentemente discutido por aqui. E poste as suas dúvidas específicas.

Resultados do nosso amigo google : http://www.google.com.br/search?hl=pt-BR&q=lendo+xml+java&meta=

Abraço.