Напишите фрагмент XML с Linq и префиксами
-
26-09-2019 - |
Вопрос
У меня есть документ, созданный в конструкторе, и во время выполнения я заполняю его фрагментами, сгенерированными из пользовательских бизнес-объектов.
Когда я вывожу фрагменты, мне нужно включить фрагменты пространства имен, но я хотел бы избежать добавления URL пространства имен каждому фрагменту, поскольку он определяется в корне.
Есть предположения?
_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",
Вот как начинается док, поэтому пространства имен есть. Как я могу построить XElement, чтобы добавить с помощью префикса GX?
Решение
Использовать тот же URI для XNamespace
:
XNamespace gx = "http://www.google.com/kml/ext/2.2";
XElement foo = new XElement(gx + "foo");
LINQ TO XML будет использовать соответствующую префикс автоматически, как я понимаю его.
Не связан с StackOverflow