Написать фрагмент XML с LINQ и префиксами - PullRequest
0 голосов
/ 12 мая 2010

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

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

1 Ответ

1 голос
/ 12 мая 2010

Используйте тот же URI для XNamespace:

XNamespace gx = "http://www.google.com/kml/ext/2.2";
XElement foo = new XElement(gx + "foo");

LINQ to XML будет автоматически использовать соответствующий префикс, насколько я понимаю.

...