Использование Linq to XML для написания NAnt файлов .build - PullRequest
1 голос
/ 11 февраля 2010

Я пытаюсь создать файл XML с использованием C # и Linq to XML, но у меня проблемы с пространством имен nant.

var myXElement = new XElement("project", new XAttribute("name", "MySystemName"), new XAttribute("default", "myNAntTargetName"), new XAttribute("xmlns", "http://nant.sf.net/schemas/nant.xsd"));

myXElement.Save("c:\foo.xml");

Поскольку я пытаюсь принудительно ввести XAtrribute пространства имен (в http://nant.sf.net/schemas/nant.xsd). Сбой. Сохранить, говоря:

XmlException Unhandled: Префикс '' не может быть переопределен с '' до 'http://nant.sf.net/schemas/nant.xsd' в том же теге начального элемента.

Если я просто удаляю атрибут пространства имен, файл сохраняется нормально, но мне нужно там пространство имен, так как в противном случае мои команды NAnt завершатся неудачно.

Есть предложения?

1 Ответ

0 голосов
/ 11 февраля 2010

Нашел это в интернете после долгого поиска:

http://guyellisrocks.com/coding/the-prefix-cannot-be-redefined-from-within-the-same-start-element-tag/

По сути, мне нужно было определить пространство имен и применить его в коде (везде), а при сохранении файла пространства имен опускаются.

Надеюсь, это поможет кому-то еще! Если так, проголосуй за меня?

...