Ler arquivo XML sem conhecer seu layout

Bom já pesquisei e encontrei dica de como ler um xml com JDOM e outras libs, porém todos já sabendo quais são as tags do xml.
O que eu quero é ler um xml sem saber as tags, e descobrir quais são para montar uma estrutura, seja com JDOM ou outro.

Explicando melhor, tenho o layout de um arquivo xml, que servirá de base para os arquivos xml que o sistema irá gerar.
Mas são muitas tags, muitas mesmo, e já imaginando o trabalho que vai ser definir cada uma no código, pensei numa forma de ler esse layout e obter as tags do xml, e a partir daí manipular do jeito que preciso.

Alguma ajuda?

[quote=alindre]Bom já pesquisei e encontrei dica de como ler um xml com JDOM e outras libs, porém todos já sabendo quais são as tags do xml.
O que eu quero é ler um xml sem saber as tags, e descobrir quais são para montar uma estrutura, seja com JDOM ou outro.

Explicando melhor, tenho o layout de um arquivo xml, que servirá de base para os arquivos xml que o sistema irá gerar.
Mas são muitas tags, muitas mesmo, e já imaginando o trabalho que vai ser definir cada uma no código, pensei numa forma de ler esse layout e obter as tags do xml, e a partir daí manipular do jeito que preciso.

Alguma ajuda?[/quote]

O que vc quer não existe. Todo o arquivo xml define um contrato, o leitor tem que saber esse contrato.
O máximo que dá para fazer é criar um arquivo de esquema. um xml schema que é um arquivo xsd (xml schema definition).
Esse arquivo vc define a estrutura e funciona como metadados do xml

pois é, o schema XSD eu tenho pra validar o xml que o sistema deve gerar.
o trabalho mesmo vai ser criar cada objeto tag, que são muitos…
enfim, mãos à obra!

[quote=alindre]pois é, o schema XSD eu tenho pra validar o xml que o sistema deve gerar.
o trabalho mesmo vai ser criar cada objeto tag, que são muitos…
enfim, mãos à obra![/quote]

Bom, eu concordo plenamente com o que o Sérgio disse, mas vamos supor que você saiba apenas o nome das tags cujo valor você quer, assim:
Você quer o valor da tag Nome da Pessoa.

Você sabe que todos os XML´s de entra no seu sistema tem esta tag, entretanto, não sabe o formato deste XML. Se este for o caso, basta aplicar xPath no XML e isto é bem simples, caso contrário, concordo com a ideia do XSD.

Abraços e bom trabalho.

O sistema deve gerar um arquivo xml com várias informações. Umas das linhas do xml de exemplo é assim:

<DocXX cpf="99999999" data="2009-09-25" ind="I" nm="XXXXXXXXXX" tel="99-99999999">

E no XSD está assim:

     <xs:element name="DocXX" type="docXXType">
	</xs:element>

             <xs:complexType name="docXXType">
		<xs:sequence>
			<xs:element name="referencia" type="referenciaType" minOccurs="1" maxOccurs="5"/>
		</xs:sequence>
		<xs:attribute name="cpf" type="cpfType" use="required" />
		<xs:attribute name="data" type="dataType" use="required" />
		<xs:attribute name="ind" type="indType" use="required" />
		<xs:attribute name="nm" type="nmType" use="required" />
		<xs:attribute name="tel" type="telType" use="required" />
	</xs:complexType>

Como para cada linha praticamente se repete a estrutura, então eu leria esse XSD para buscar as informações das tags do xml, seria isso?