<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="produto">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="nome" type="xsd:string" />
<xsd:element name="preco" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="venda">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="formaDePagamento" type="xsd:string" />
<xsd:element name="produtos">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="produto" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="moeda" type="xsd:string" />
</xsd:complexType>
</xsd:element>
</xsd:schema>
Cartao
Livro da casa do código
29.90 Livro de java
29.90 ``` package br.com.alura.Teste;
import java.io.IOException;
import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NodeList; import org.xml.sax.SAXException;
public class Sistema {
public static void main(String[] args) throws SAXException, IOException, ParserConfigurationException {
DocumentBuilderFactory fabrica = DocumentBuilderFactory.newInstance();
fabrica.setValidating(true);
fabrica.setNamespaceAware(true);
fabrica.setAttribute("http://java.sun.com/xml/jaxp/properties/schemaLanguage", "http://www.w3.org/2001/XMLSchema");
DocumentBuilder builder = fabrica.newDocumentBuilder();
Document document = builder.parse("src/vendas.xml");
Element venda = document.getDocumentElement();
String moeda = venda.getAttribute("moeda");
System.out.println(moeda);
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("-----------");
}
}
}
Apresenta esse erro: Advertência: A validação foi ativada, mas um org.xml.sax.ErrorHandler não foi definido, provavelmente porque não era necessário. O parser usará um ErrorHandler padrão para imprimir os primeiros 0 erros. Chame o método 'setErrorHandler' para corrigir o problema.
Error: URI=file:///C:/Java/GitHub/curso_XML/src/vendas.xml Line=2: cvc-elt.1: Não pode localizar a declaração do elemento 'venda'.
`