Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > .NET
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-12-2024
rci rci is offline
Miembro
 
Registrado: nov 2020
Posts: 416
Poder: 5
rci Va por buen camino
Question Validar XML con esquema XSD - C# .Net

Hola!

Estoy intentando validar un fichero XML contra el esquema XSD utilizando C# .Net

Quiero hacerlo porque en algunos casos el XML que genero tiene algún error y cuando lo envío a un webservice recibo una excepción con el mensaje:
Cita:
Código[4102]. El XML no cumple el esquema. Falta informar campo obligatorio.: Desglose
Si miro dentro del esquema XSD veo que este campo "Desglose" es obligatorio y en el XML no aparece.

He buscado por Internet y he encontrado varios ejemplos pero no consigo que funcione ninguno para mi caso.
Me encuentro con dos situaciones distintas, o me da un error que no tiene que ver con el campo que falta o me acepta el XML como válido cuando no lo es.

El esquema XSD es el siguiente:
h t t ps://prewww2.aeat.es/static_files/common/internet/dep/aplicaciones/es/aeat/tikeV1.0/cont/ws/SuministroInformacion.xsd

Si lo utilizo directamente para validar el fichero XML que he generado, siguiendo toda la normativa pero sin el elemento Desglose, en lugar de decirme que falta ese elemento, me da el siguiente error:
Cita:
No se ha declarado el elemento 'http://www.w3.org/2000/09/xmldsig#:Signature'
Primero pensaba que se quejaba porque en mi XML no hay el elemento Signature pero mirando el esquema veo que este elemento no es obligatorio.
Aún así, he descargado el fichero XSD, lo he modificado quitando las referencias de Signature y he validado contra ese XSD modificado. En ese caso no da error pero tampoco me indica que falta el elemento Desglose. De esta forma me lo da como válido cuando realmente no lo es.

Después he pensado que cuando intenta validar tiene algún problema al leer dentro del esquema XSD y no reconoce la parte que indica del elemento Signature.
Con el esquema XSD original he intentado añadir el namespace ds con la url "http://www.w3.org/2000/09/xmldsig#" pero nada.
También he intentado añadir el fichero XSD relacionado con esa url xmldsig-core-schema.xsd (que también me he descargado) pero tampoco me funciona.

Alguien ha conseguido validar un fichero XML contra un esquema XSD en C# y podría echarme un cable por favor?

Muchas gracias!!
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Bloque del esquema SistemaInformatico CarlosMz Registros de Facturacion y Eventos (XML) 7 08-11-2024 08:28:14
Esquema BD Zina Varios 8 10-11-2016 17:00:01
¿ como validar xml contra esquema? JXJ Varios 2 27-03-2011 04:09:41
Esquema programación. REHome Varios 6 12-04-2007 22:03:05
crear archivos esquema *.sch KmoCuesta Tablas planas 0 16-09-2005 21:48:05


La franja horaria es GMT +2. Ahora son las 15:35:31.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi