URI non valide: L'Uri de la chaîne est trop longue
Je suis en essayant d'attraper un schéma et de valider à l'encontre de mon xml.
XmlReaderSetting settings = new System.Xml.XmlReaderSettings();
settings.Schemas.Add(null, "http://example.com/myschema.xsd");
settings.ValidationEventHandler += new System.Xml.Schema.ValidationEventHandler(settings_ValidationEventHandler);
settings.ValidationType = ValidationType.Schema;
settings.IgnoreWhitespace = false;
XmlReader reader = XmlReader.Create(xml, settings);
- Je obtenir
Invalid URI: The Uri string is too long
System.UriFormatException was unhandled Message=Invalid URI: The Uri string is too long. Source=System StackTrace:
at System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind)
at System.Uri..ctor(String uriString, UriKind uriKind)
at System.Xml.XmlResolver.ResolveUri(Uri baseUri, String relativeUri)
at System.Xml.XmlUrlResolver.ResolveUri(Uri baseUri, String relativeUri)
at System.Xml.XmlReaderSettings.CreateReader(String inputUri, XmlParserContext inputContext)
at System.Xml.XmlReader.Create(String inputUri, XmlReaderSettings settings, XmlParserContext inputContext)
at System.Xml.XmlReader.Create(String inputUri, XmlReaderSettings settings)
at ConsoleApplication2.Program.Main(String[] args) in Program.cs:line 42
at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart() InnerException:
Ne me dites pas ce que la longueur maximum est ou quoi que ce soit. - On jamais obtenir ce avant?
stackoverflow.com/q/417142/684934 semble suggérer que vous allez être limité à 2000 caractères.
la ligne est le plantage survenant à l'? wht est xml référence ici?
xml est une chaîne qui contient le code xml qui doit être validé. Il se bloque sur la XmlReader.Créer()
Pour quelqu'un d'autre, j'ai eu d'erreur similaire lorsque j'ai eu une xmlDoc.Charge au lieu de xmlDoc.LoadXml. Il a vu le contenu xml comme un nom de fichier/URI.
la ligne est le plantage survenant à l'? wht est xml référence ici?
xml est une chaîne qui contient le code xml qui doit être validé. Il se bloque sur la XmlReader.Créer()
Pour quelqu'un d'autre, j'ai eu d'erreur similaire lorsque j'ai eu une xmlDoc.Charge au lieu de xmlDoc.LoadXml. Il a vu le contenu xml comme un nom de fichier/URI.
OriginalL'auteur chobo2 | 2011-08-12
Vous devez vous connecter pour publier un commentaire.
le problème est que le xml dans votre xmlreader.créer la fonction devrait être un uri si l'argument est une chaîne de caractères.
par exemple.
Dans votre cas, le fichier xml est interprété comme l'url, et il est donc de se plaindre de la limite.
regarder ce doc msdn XmlReader.Méthode De Création De La
pour les différentes méthodes surchargées..
Je devine que vous devez utiliser le TextReader.
OriginalL'auteur