Usuário com melhor resposta
erro ao validar xml com xsd

Pergunta
-
Bom dia,
o método abaixo uso para validar um xml com o xsd, porém me retorna a seguinte exceção:
"Elemento 'http://www.w3.org/2000/09/xmldsig#:Signature' não foi declarado."
// método que valida o xml com o xsd public static bool IsValidXml(string caminhoXml, string XsdCaminho) { var xdoc = XDocument.Load(caminhoXml); var schemas = new XmlSchemaSet(); schemas.Add(targetNameSpace, XsdCaminho); try { xdoc.Validate(schemas, null); } catch (XmlSchemaValidationException ex) { throw new XmlSchemaValidationException(@"Ocorreu uma exceção: ", ex); } return true; }
Obrigado
- Editado Hawk B quinta-feira, 14 de janeiro de 2016 11:45
Respostas
-
Encontrei o problema,
tem um import no xsd que nao funciona ou sei lá...
<xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"/>
entrei nessa url e copiei o xsd e coloquei no mesmo diretorio do xsd problematico e funcionou.
- Marcado como Resposta Hawk B sexta-feira, 15 de janeiro de 2016 12:12
Todas as Respostas
-
O Problema está no seu arquivo XML. Falta um nó de assinatura dos elementos. Não esqueça que na criação voce precisa de uma tag chamada element para definir a assinatura conforme o exemplo abaixo
<element name="NomeDoElemento" type="ds:Tipo"/> <complexType name="Tipo"> <sequence> <element ref="ds:Campo1"/> </sequence> <attribute name="Id" type="ID" use="optional"/> </complexType>
Por favor, lembre-se de “Marcar como Resposta” as respostas que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.
- Sugerido como Resposta Erick WendelMVP quinta-feira, 14 de janeiro de 2016 12:25
-
Aqui está alguns exemplos
https://msdn.microsoft.com/en-us/library/as3tta56(v=vs.80).aspx
- Sugerido como Resposta Erick WendelMVP quinta-feira, 14 de janeiro de 2016 12:26
-
-
Encontrei o problema,
tem um import no xsd que nao funciona ou sei lá...
<xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"/>
entrei nessa url e copiei o xsd e coloquei no mesmo diretorio do xsd problematico e funcionou.
- Marcado como Resposta Hawk B sexta-feira, 15 de janeiro de 2016 12:12