Olá pessoal! Como eu faço para pegar o valor '1979' que está na tag <materiais codigo="1979">?
Segue abaixo meus tests:
package br.com.alura;
import com.thoughtworks.xstream.XStream;
public class TesteLeituraXml {
public static void main(String[] args) {
String xmlTeste = "<testeCompra>\n"+
" <id>100</id>\n"+
" <materiais codigo=\"1979\">\n"+
" <material>piscina</material>"+
" <preco>15000.00</preco>"+
"</materiais>\n"+
"</testeCompra>";
XStream xStream = new XStream();
xStream.alias("testeCompra", Compra.class);
xStream.alias("id", Compra.class);
xStream.alias("materiais", Compra.class);
xStream.useAttributeFor(Compra.class, "codigo");
xStream.alias("material", Compra.class);
xStream.alias("preco", Compra.class);
Compra compraTeste = (Compra) xStream.fromXML(xmlTeste);
System.out.println(compraTeste.getId());
System.out.println(compraTeste.getMateriais());
System.out.println(compraTeste.getCodigo());
System.out.println(compraTeste.getMaterial());
System.out.println(compraTeste.getPreco());
}
}
package br.com.alura;
import java.util.ArrayList;
import java.util.List;
public class Compra {
private int id;
private int codigo;
private String material;
private String materiais;
private double preco;
private List<Produto> produtos = new ArrayList<Produto>();
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public List<Produto> getProdutos() {
return produtos;
}
public void setProdutos(List<Produto> produtos) {
this.produtos = produtos;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + id;
result = prime * result + ((produtos == null) ? 0 : produtos.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Compra other = (Compra) obj;
if (id != other.id)
return false;
if (produtos == null) {
if (other.produtos != null)
return false;
} else if (!produtos.equals(other.produtos))
return false;
return true;
}
public int getCodigo() {
return codigo;
}
public void setCodigo(int codigo) {
this.codigo = codigo;
}
public String getMaterial() {
return material;
}
public void setMaterial(String material) {
this.material = material;
}
public double getPreco() {
return preco;
}
public void setPreco(double preco) {
this.preco = preco;
}
public String getMateriais() {
return materiais;
}
public void setMateriais(String materiais) {
this.materiais = materiais;
}
}