Ecrire XML Fragment avec LINQ et Prefixes
-
26-09-2019 - |
Question
J'ai un document créé dans un constructeur, et lors de l'exécution, je suis remplissage dans des fragments générés à partir personnalisés Business Objects.
Quand je suis sortie des fragments, je dois inclure des fragments d'espace de noms, mais Je voudrais éviter d'ajouter l'URL d'espace de noms à chaque fragment, car il est défini dans la racine.
Toutes les pensées?
_doc = new XDocument(
new XDeclaration("1.0", "UTF-8", "yes"),
new XElement(aw + "kml",
new XAttribute(XNamespace.Xmlns + "gx", "http://www.google.com/kml/ext/2.2"),
new XAttribute("xmlns", "http://www.opengis.net/kml/2.2"),
new XElement(aw+"Document",
Voilà comment le début de la doc, de sorte que les espaces de noms sont là. Comment puis-je faire pour la construction d'un XElement à ajouter à l'aide du préfixe gx?
La solution
Utilisez le même URI pour un XNamespace
:
XNamespace gx = "http://www.google.com/kml/ext/2.2";
XElement foo = new XElement(gx + "foo");
LINQ to XML utilisera le préfixe approprié automatiquement, si je comprends bien.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow