Установка атрибута XML для файлов Sandcastle

У меня есть проект Sandcastle, который обрабатывает для меня некоторую документацию. Я выполняю часть процесса в коде для создания файлов.

Тем не менее я хочу создать ссылку, которая будет переходить на другую страницу.

Код C#

XmlElement link = document.CreateElement("link");
link.SetAttribute("xlink:href", mapGuid.ToString());

Это создаст элемент, а затем установит атрибут. Результат выглядит следующим образом:

<link href="10e3ca23-4b79-42f3-b89c-e6fe924ceef3" xmlns="" />

но это должно выглядеть так

<link xlink:href="10e3ca23-4b79-42f3-b89c-e6fe924ceef3" xmlns="" />

Первая ссылка не работает, но когда я добавляю xlink: перед href, она работает.

Мой вопрос, как я могу это исправить?

заранее спасибо


person Gericke    schedule 21.10.2015    source источник


Ответы (1)


Обычно я использую XML Linq и получаю nameapce из родителя, как это

XElement link = new XElement("link");
            XNamespace ns = link.Name.Namespace;
            link.Add(new XAttribute(ns + "href", "10e3ca23-4b79-42f3-b89c-e6fe924ceef3"));
person jdweng    schedule 21.10.2015
comment
Зачем мне нужно получать пространство имен? - person Gericke; 22.10.2015
comment
xmlns — это пространство имен. - person jdweng; 22.10.2015