Boa tarde meus queridos…
Segue esse exemplo de xml:
<hibernate-mapping>
<class name="ZonaVenda" table="ZONAS_VENDAS" lazy="true">
<id name="idZonaVenda" column="ID_ZONA_VENDA">
<generator class="native">
<param name="sequence">SEQ_ZONAS_VENDAS</param>
</generator>
</id>
<timestamp name="dataStamp" column="DATA_STAMP"/>
<property name="nmZonaVenda" not-null="true" column="NM_ZONA_VENDA"/>
<property name="dmSituacao" not-null="true" column="DM_SITUACAO"/>
<property name="usuarioStamp" not-null="true" column="USUARIO_STAMP"/>
<property name="dmTipoZona" not-null="true" column="DM_TIPO_ZONA"/>
</class>
</hibernate-mapping>
Preciso pegar o atributo “name” e “column” dentro da tag ID e tambem das tags de PROPERTY porém só consigo o da tag mae que é o CLASS.
Segue meu metodo de testes:
public void lerXml2() throws JDOMException, IOException {
//Aqui você informa o nome do arquivo XML.
File f = new File("caminho");
SAXBuilder sb = new SAXBuilder();
Document d = sb.build(f);
Element mural = d.getRootElement();
List elements = mural.getChildren();
Iterator i = elements.iterator();
while (i.hasNext()) {
Element element = (Element) i.next();
System.out.println("arq: "+mural.getName() + "\n");
System.out.println("arq: "+mural.getChildren() + "\n");
System.out.println("tag <class>");
System.out.println("nome: "+element.getAttributeValue("name").toString());
System.out.println("tabela: "+element.getAttributeValue("table") + "\n");
///
System.out.println("tag<id> :");
System.out.println("name: " + element.getAttributes() );
System.out.println("column: "+ element.getAttributeValue("column")+"\n");
}
}
saidas:
arq: hibernate-mapping
arq: [[Element: ], [Element: ]]
tag
nome: com.systemhaus.antara.geral.domain.ZonaVenda
tabela: ZONAS_VENDAS
tag<id> :
name: [[Attribute: name="ZonaVenda"], [Attribute: table="ZONAS_VENDAS"], [Attribute: lazy="true"], [Attribute: mutable="true"], [Attribute: polymorphism="implicit"], [Attribute: dynamic-update="false"], [Attribute: dynamic-insert="false"], [Attribute: select-before-update="false"], [Attribute: optimistic-lock="version"]]
column: null
Estou usando o JDOM para leitura do xml