Страницы

Поиск по вопросам

воскресенье, 15 декабря 2019 г.

Символ двоеточия в string

#c_sharp #xml #строки #linq2xml


При работе с xml-файлами в C# потребовалось создать через linq2xml такой элемент:
xml:space="preserve"

Однако при попытке добавить его программно
new XAttribute("xml:space", "preserve")

Получаю такую ошибку: 

"Знак ":", шестнадцатеричное значение
0x3A, не может использоваться в
именах."

Как можно добавить string типа "x:y"?

Чуть более полный код:
xdoc.Element("root").Add(new XElement("data", new XAttribute("name", x.Key), new
XAttribute("xmlspace", "preserve"),new XElement("value", x.Value)));

// Надо xml:space

Если кто задается вопросом, "WTF is that?", отвечаю, это программное добавление локализационных
ресурсов Visual Studio. (Изначально взято через linq2xml из файла ресурсов Java в Dictionary
и потом конвертировано в файл ресурсов Visual Studio), и, да, я знаю толк в извращениях.    


Ответы

Ответ 1



А если так: XmlDocument.CreateElement("prefix", "name", "uri"); //для элементов new XAttribute(XNamespace.Xml + "space", "preserve"); //для атрибутов

Комментариев нет:

Отправить комментарий