Validação de Arquivo XML

12 respostas
D

Olá,

Estou estou fazendo um sistema de upload de arquivo. Este arquivo tem que ser um XML.
E tenho que validar esse XML para ver se os dados são consistentes.
Qual framework ou api posso utilizar ?

Obrigado

12 Respostas

K

o xpath do java da conta…

J

Vai depender da sua situação,

mas pra manipular XML, usam-se muito

http://xstream.codehaus.org/

http://www.jdom.org/

D

Mas como faço a utilização desse xpath ?

O JDOM e o XStream eu consigo fazer essa validação do conteúdo, ou somente manipulação do msm?

NO upload, eu tenho que validar se ele é um xml e se o conteúdo desse xml é valido… exemplo… não pode conter caracteres diferentes de 1, 2,3 e 4… é um exemplo…

obrigado

K

veio, depende…

seu sistema é web ou desk ? vai fazer a validação no client ou no server ?

vo batuca uns codigo aqui e ja posto…

D

Meu sistema é web.

A validação vai ser server …

Eu vou verificar se as informações estao corretas para jogar no banco de dados…

Estou meio perdido… me desculpe pelas perguntas …lol

thanks

J

Só se o negócio ficar muito complicado , mas das validações que voce falou, acho que o XPath dá conta do recado, sendo nativo tá em casa. Dá uma fuçada ae que tem exemplos a torto e a direita!

L

Olá!
Tu pode usar um XSD para fazer a validação do seu XML.
Dá uma olhada no http://www.w3schools.com é uma ótima referência.

J

leocribeiro:
Olá!
Tu pode usar um XSD para fazer a validação do seu XML.
Dá uma olhada no http://www.w3schools.com é uma ótima referência.

Uia interessante,

tipo assim ou nada a ver?

http://www.java-tips.org/java-se-tips/javax.xml.validation/how-to-create-xml-validator-from-xml-s.html

L

A.L:

Uia interessante,

tipo assim ou nada a ver?

http://www.java-tips.org/java-se-tips/javax.xml.validation/how-to-create-xml-validator-from-xml-s.html

É bem isso ai.
A idéia é utilizar o XSD para validar o XML.

D

Nao consegui acessar o link que vc me enviou !!

http://www.java-tips.org/java-se-tips/javax.xml.va…-xml-validator-from-xml-s.html

J
dugbuddy:
Nao consegui acessar o link que vc me enviou !!

http://www.java-tips.org/java-se-tips/javax.xml.va...-xml-validator-from-xml-s.html

Lá tem um código assim

import javax.xml.transform.stream.StreamSource;
import javax.xml.validation.Schema;
import javax.xml.validation.SchemaFactory;
import javax.xml.validation.Validator;

import org.xml.sax.SAXException;

/**
 * A sample application which shows how to perform a
 * XML document validation.
 */

public class Test {
  public static void main(String[] args) {
    try {
      // define the type of schema - we use W3C:
      String schemaLang = "http://www.w3.org/2001/XMLSchema";

      // get validation driver:
      SchemaFactory factory = SchemaFactory.newInstance(schemaLang);

      // create schema by reading it from an XSD file:
      Schema schema = factory.newSchema(new StreamSource("sample.xsd"));
      Validator validator = schema.newValidator();

      // at last perform validation:
      validator.validate(new StreamSource("sample.xml"));

    }catch (SAXException ex) {
      // we are here if the document is not valid:
      // ... process validation error...
    } catch (Exception ex) {
      ex.printStackTrace();
    }
  }
}

Mas acho que tá mais fácil googlar por 'javax xml validation'

D

Valeu…

Eu vou testar essa classe ai …

obrigado pelas dicas…

Se tiver algum exemplo com upload… eu fica grato desde ja …

thankss

Criado 29 de dezembro de 2009
Ultima resposta 29 de dez. de 2009
Respostas 12
Participantes 4