Gerar XML

5 respostas
programmer_ed

Boa noite,

qual a melhor forma de gerar um arquivo xml usando um xml schema ?

att

5 Respostas

programmer_ed

Alguém tem um exemplo ???

davidbuzatto

Um XML Schema formaliza o que o XML deve conter para ser válido.
Você quer gerar um XML com valores aleatórios com base em um schema? É isso? Para quê?

programmer_ed

Boa noite David,

eu quero um exemplo de como gerar um arquivo através de xsd, nunca fiz isso, só gerei o xml como a crialçao de elemento e fazendo appendChild

por exemplo:

import org.w3c.dom.<em>;

import javax.xml.parsers.DocumentBuilder;

import javax.xml.parsers.DocumentBuilderFactory;

import <a href="http://java.io">java.io</a>.</em>;

import javax.xml.transform.*;

import javax.xml.transform.stream.StreamResult;

public class JaxpTeste{

public static void main(String[] argv){

try{		
			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();				
			DocumentBuilder builder = factory.newDocumentBuilder(); 
			
			Document doc = builder.newDocument();				
			// Cria o elemento Root pessoa				
			Element root = doc.createElement("pessoa");				
			// Cria o elemento nome				
			Element item = doc.createElement("nome");				
			item.appendChild(doc.createTextNode("fulado de tal"));	
			root.appendChild(item);			
			item = doc.createElement("nascimento");				
			item.appendChild(doc.createTextNode("22-07-1983"));				
			root.appendChild(item);
			item = doc.createElement("idade");				
			item.appendChild(doc.createTextNode("28"));				
			root.appendChild(item);						
			doc.appendChild(root);				
			Transformer trans = 				
			TransformerFactory.newInstance().newTransformer();				
			trans.setOutputProperty(OutputKeys.STANDALONE,"yes");				
			trans.setOutputProperty(OutputKeys.ENCODING,"ISO-8859-1");				
			trans.setOutputProperty(OutputKeys.INDENT,"yes");								
			trans.transform(new javax.xml.transform.dom.DOMSource(doc),
			                new StreamResult(System.out));
}catch (Exception ex){
 
   ex.printStackTrace();
}

}
}

resultado:

<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?> fulado de tal 22-07-1983 28

mas eu queria atravez de uma API gerar o mesmo xml mas usando o xml schema, o xsd.

obrigado

programmer_ed

Alguém teria um exemplo ?

davidbuzatto

programmer_ed, primeiro vou te dar umas dicas quanto à utilização do fórum tudo bem?

1 - Comece dando uma lida nesses tópicos aqui:
http://www.guj.com.br/posts/list/39020.java
http://www.guj.com.br/posts/list/15777.java
http://www.guj.com.br/posts/list/50115.java

2 - Quando postar uma dúvida, aguarde ser respondido. Não adianta nada você ficar perguntando se alguém tem um exemplo, se ninguém vai ajudar, etc. Acredite, esse tipo de comportamento afasta possíveis ajudas! Poste então a dúvida UMA vez e espere. Se ninguém responder é pq ninguém sabe ou mesmo não teve vontade de ajudar devido a algum problema no próprio post, como a falta da tag code (no último link que passei você vai aprender a usá-la).

Agora quanto ao seu problema. Você vai gerar o XML com base no Schema, mas o Schema você usa para validar o XML, não para construir. Em relação à criação do XML, existem diversas APIs que fazem a ponte entre o “mundo orientado a objetos” para o “mundo XML” e vice-versa. Entre elas estão a Simple XML e a XStream. Eu recomendo fortemente que você estude a primeira, que é mais simples de usar que o XStream, além de funcionar da forma que você quer sem ter tanta dor de cabeça.

Segue o link da Simple XML: http://simple.sourceforge.net/

[] s

Criado 26 de setembro de 2010
Ultima resposta 27 de set. de 2010
Respostas 5
Participantes 2