Вопрос

У меня есть документ, созданный в конструкторе, и во время выполнения я заполняю его фрагментами, сгенерированными из пользовательских бизнес-объектов.

Когда я вывожу фрагменты, мне нужно включить фрагменты пространства имен, но я хотел бы избежать добавления 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 будет использовать соответствующую префикс автоматически, как я понимаю его.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top