Приветствую!
Очень простая задача, но, потратив целый день на поиск ответа, я так и не нашёл решение. Прошу помочь.
Мне требуется сформировать XML-документ вида:
<pref:rootItem xmlns:pref="urn://requiredLink">
<pref:childItem>
...
<pref:mainContent>content</pref:mainContent>
...
</pref:childItem>
</pref:rootItem>
Вся сложность заключается в том, что абсолютно каждый элемент моего документа должен содержать префикс
pref. Как это реализовать с применением класса
XElement на C#? У упомянутого класса отсутствуют свойства/методы, позволяющие непосредственно задавать префикс элемента. Поиск же ответа дал понять, что это связано с пространствами имен xml, но пример нормальной реализации аналогичного кода я так и не нашёл.
Изначально я напрямую пытался задать имя с префиксом:
XElement item = new XElement("pref:mainContent", "content");
Но такой вариант недопустим и программа генерирует
Xml.XmlException:
The ':' character, hexadecimal value 0x3A, cannot be included in a name
Советуемый вариант типа
XNamespace nameSpace = "urn://requiredLink";
XElement item = new XElement(nameSpace + "mainContent", "content");
и близко не даёт желаемого выхода. Прошу, помогите разобраться.