J'ai un problème avec la lecture des fichiers GML en C #. Mes fichiers n'ont pas de schéma ou d'espaces de noms et ne ressemble à un fichier de cette question:
analyse des données GML à l'aide de c # linq à xml p>
uniquement whitout le schéma comme ceci: p> Quand j'essaie de Lisez le document avec xdocument.load méthode, je reçois une exception en disant: J'ai beaucoup de fichiers GML donc je ne veux donc pas ajouter le schéma et les espaces de noms à tous mes fichiers. Est-ce que quelqu'un sait lire mes fichiers? P> p> 'space de noms «GML» n'est pas défini code>. p>
3 Réponses :
Vous pouvez ajouter votre espace de noms et taper de manière programmative. p>
chargez votre fichier dans une chaîne à l'aide de fichier.readalltext (nom de fichier) code>, ajoute les informations de type Neccesary et d'espace de noms et analysez-le à l'aide de xdocument.parse code> au lieu de Charge code>. P>
Sauf si vous déclarez l'espace de noms associé au préfixe "GML", votre texte n'est pas valide XML + Namespaces.
Vous pouvez implémenter une étape de pré-processus qui a fait quelque chose comme (pseudo code): P>
string text = ReadFromFile();
text = text.replace(" srsName=", " xmlns:gml=");
xmlDocument.LoadXml(text);
Utilisez une xmltextreader avec un XMLAMESPAcAcAnerger. Voir un exemple sur MSDN ici: http: // msdn. Microsoft.com/en-us/Library/system.xml.xmlnamespacakemanager.xmlnamespacemanager.aspx P>