Bom dia galera,tudo bem? Bom,comecei o curso de XML e me deparei com erros bem na primeira aula,ou seja,meu código corresponde a 100% o código dos exercícios porém há erro de compilação.
*meu XML(se chama vendas.xml):
<?xml version="1.0" encoding="UTF-8"?>
<venda>
<formaDePagamento>Cartão</formaDePagamento>
<produtos>
<produto>
<nome>Livro de xml</nome>
<preco>29.90</preco>
</produto>
<produto>
<nome>Livro de O.O Java</nome>
<preco>29.90</preco>
</produto>
</produtos>
</venda>
*Minha classe principal:
public class Sistema {
public static void main(String[] args) throws Exception {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse("src/venda.xml");
NodeList produtos = document.getElementsByTagName("produto");
for (int i = 0; i < produtos.getLength(); i++) {
Element produto = (Element) produtos.item(i);
String nome = produto.getElementsByTagName("nome").item(0).getTextContent();
String preco = produto.getElementsByTagName("preco").item(0).getTextContent();
System.out.println("-----------");
System.out.println("Nome do produto: " + nome);
System.out.println("Preco do produto: " + preco);
System.out.println("-----------");
}
}
}
*Minha classe secundária:
public class Produto {
private String nome;
private double preco;
public Produto(String nome, double preco) {
this.nome = nome;
this.preco = preco;
}
public String getNome() {
return nome;
}
public double getPreco() {
return preco;
}
@Override
public String toString() {
return "Nome:" + this.nome + "\n Preço:" + this.preco + "\n";
}
}
Erros detectado pelo compilador:
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
Type mismatch: cannot convert from org.w3c.dom.Document to javax.swing.text.Document
The method getElementsByTagName(String) is undefined for the type Document
The method getElementsByTagName(String) is undefined for the type Element
The method getElementsByTagName(String) is undefined for the type Element
at br.com.alura.Teste.Sistema.main(Sistema.java:15)