Problema com leitura e gravação de arquivo xml

Peoples, peguei um arquivo xml com meu colega e estou tentando ler e gravar o arquivo em um banco de dados, mas não estou conseguindo. Vou postar uma parte do código xml e o código java que le o arquivo:

Obs.: é a primeira vez que mexo com xml+java+banco
CÓDIGO XML

<?xml version=“1.0” encoding=“UTF-8”?>
<!DOCTYPE ROOT SYSTEM “cidades.dtd”>
<ROOT xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”>
<row>
<field name=“Seq”>1</field>
<field name=“Nome”>Acrelândia</field>
<field name=“NomeSemAcento”></field>
<field name=“Cep”>69945-000</field>
<field name=“UF”>AC</field>
</row>
<row>
<field name=“Seq”>2</field>
<field name=“Nome”>Assis Brasil</field>
<field name=“NomeSemAcento”></field>
<field name=“Cep”>69935-000</field>
<field name=“UF”>AC</field>
</row>
<row>
<field name=“Seq”>3</field>
<field name=“Nome”>Brasiléia</field>
<field name=“NomeSemAcento”></field>
<field name=“Cep”>69932-000</field>
<field name=“UF”>AC</field>
</row>
<row>
.
.
.

CÓDIGO JAVA

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package lendoarquivojava;

import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
//import javax.lang.model.element.Element;
import javax.swing.text.Document;
import javax.swing.text.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;

/**
 *
 * @author David
 */
public class Main {

    public static void main(String[] args) throws JDOMException, IOException {
        File arquivoXML = new File("C:/Users/fulano/cidades.xml");

        //Criamos uma classe SAXBuilder que vai processar o XML4
        SAXBuilder sb = new SAXBuilder();

        //Este documento agora possui toda a estrutura do arquivo.
        Document documentoXML = (Document) sb.build(arquivoXML);

        //Recuperamos o elemento root
        Element[] cidades = documentoXML.getRootElements();

        //Recuperamos os elementos filhos (children)
        List elements = cidades.getChildren(); // O SE ENCONTRA NESTA LINHA. NA VERDADE NUM SE TRATA DE UM ERRO ELE SIMPLESMENTE NÃO ACEITA O //.getChildren(), ele não me da essa opção. 
        Iterator i = elements.iterator();

         while (i.hasNext()) {
             Element element = (Element) i.next();
             
         }
    }
}

O vetor cidades não tem esse método

para você usar esse método tem que pegar uma posição do vetor

e o método getChildren() retorna o que?

[quote=zoren]O vetor cidades não tem esse método

para você usar esse método tem que pegar uma posição do vetor

e o método getChildren() retorna o que?[/quote]

Zoren, é o seguinte,Eu dei uma olhada em alguns tutoriais e eles disseram que tem que criar uma estrutura para o xml, só que eu não estou conseguindo fazer essa estrutura. Eu me equivoquei e coloquei a parte errada, o que eu queria postar é a estrutura, só que ela esta toda errada e preferi não posta-lá.
Se você souber como faz a estrutura para esse xml que eu postei ai e puder me ajudar eu agradeço.
Vou postar a minha tentativa de estrutura:

    Element row = new Element("row");
    Element id = new Element ("Seq");
    Element nome = new Element ("Nome");
    Element nomeSemAcento = new Element ("NomeSemAcento");
    Element cep = new Element ("Cep");
    Element uf = new Element ("UF");

apartir dai não sei pra onde vai, pois a maioria dos tutoriais tem uma um xml com estrutura diferente e eu não entendi muito bem e nem sei se está certo essa “estrutura” que eu fiz.

Só para constar esse xml foi gerado de uma tabela de um banco de dados (mysql).

Sugiro que você de uma olhada nos tutoriais de XML aqui do GUJ.

Continuar sem entender vai ser bem difícil.

http://guj.com.br/article.list.logic#category_18

[quote=zoren]Sugiro que você de uma olhada nos tutoriais de XML aqui do GUJ.

Continuar sem entender vai ser bem difícil.

http://guj.com.br/article.list.logic#category_18[/quote]
Tá, Zoren, eu entendi como é o processo e tal, só que eu não sei como faço a estrutura do meu xml, pois nos tutoriais eles colocam um id que no meu xml não existe, tipo assim:

NO XML DOS TUTORIAIS:

 <guj>  
     <usuario id="0">  //Esta ai o id deles
         <nome>Daniel Destro do Carmo</nome>  
         <idade>23</idade>  
         <email>danieldestro@uol.com.br</email>  
     </usuario>

O MEU XML:

  <row>
      <field name="Seq">1</field>
      <field name="Nome">Acrelândia</field>
      <field name="NomeSemAcento"></field>
      <field name="Cep">69945-000</field>
      <field name="UF">AC</field>
    </row>

Fiz como eles ensinam no tutorial http://guj.com.br/article.show.logic?id=22, só que dá um bocado de erro:

minhas classes:

Mapea o XML:


package lendoarquivojava;

public class Cidade {
    public String seq;
    public String cidade;
    public String bairro;
    public String cep;
    public String uf;

    //contrutor da classe
    public Cidade(String seq, String cidade, String bairro, String cep, String uf){
        this.seq = seq;
        this.cidade = cidade;
        this.bairro = bairro;
        this.cep = cep;
        this.uf = uf;
    }
}

lê o XML


package lendoarquivojava;

import java.util.Vector;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.jdom.Element;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;

public class LeXml {
    private String xmlPathname;

   // construtor que seta o caminho do XML
   public LeXml( String path ) {
     xmlPathname = path;
   }

   // le o XML carregando os dados das cidades em um Vector.
   // retorna o vector contendo as cidades cadastradas no XML.
   public Vector lerCidade() throws Exception {
        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
        DocumentBuilder db = dbf.newDocumentBuilder();
        Document doc = db.parse(xmlPathname);
        Element elem = (Element) doc.getDocumentElement();
        // pega todos os elementos seq do XML
        NodeList nl = elem.getElementsByTagName("seq"); // getElementsByTagName não é aceito, tipo, ele não me da essa opção(cannot find symbol)

        // prepara o vetor
        Vector Lista = new Vector();
        // percorre cada elemento seq encontrado
        for (int i = 0; i < nl.getLength(); i++) {
            Element tagSeq = (Element) nl.item(i);

            // pega os dados cadastrado para o seq atual
            String seq = getChildTagValue(tagSeq , "Seq");
            String cidade = getChildTagValue(tagSeq, "cidade");
            String bairro = getChildTagValue(tagSeq, "bairro");
            String cep = getChildTagValue(tagSeq, "cep");
            String uf = getChildTagValue(tagSeq, "uf");

            // cria uma nova instancia do UsuarioGuj com os dados do xml
            Cidade cidadE = new Cidade(seq, cidade, bairro, cep, uf);

            // adiciona o usuario na coleção (vector) de usuários do guj
            Lista.addElement(cidadE);
        }

        return Lista;
    }
   // este método lê e retorna o conteúdo (texto) de uma tag (elemento)
    // filho da tag informada como parâmetro. A tag filho a ser pesquisada
    // é a tag informada pelo nome (string)

    private String getChildTagValue(Element elem, String tagCidade) throws Exception {
        NodeList children = elem.getElementsByTagName(tagCidade); // getElementsByTagName não é aceito, tipo, ele não me da essa opção (cannot find symbol)
        if (children == null) {
            return null;
        }
        Element child = (Element) children.item(0);
        if (child == null) {
            return null;
        }
        return child.getFirstChild().getNodeValue(); //getFirstChild() não é aceito, tipo, ele não me da essa opção (cannot find symbol)
    }
 }

Main

package lendoarquivojava;

import java.util.Vector;

public class Main {

    public class CadastraCidade {

        public CadastraCidade() {
            try {
                // informe o caminho correto do arquivo xml
                LeXml reader = new LeXml("C://Users/David/Documents/cidades.xml");

                Vector cidades = reader.lerCidade();

                // imprime na tela as cidades cadastradas
                for (int i = 0; i < cidades.size(); i++) {
                    Cidade cidade = (Cidade) cidades.get(i);

                    System.out.println("Seq: " + cidade.seq);
                    System.out.println("Cidade: " + cidade.cidade);
                    System.out.println("Bairro: " + cidade.bairro);
                    System.out.println("Cep: " + cidade.cep);
                    System.out.println("UF: " + cidade.uf);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

        public static void main(String[] args) {
            new CadastraCidade(); // DÁ ESSE ERRO: non-static variable this cannot be referenced from a static context
        }
}