При работе с 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), и, да, я знаю толк в извращениях.
Ответ
А если так: XmlDocument.CreateElement("prefix", "name", "uri"); //для элементов new XAttribute(XNamespace.Xml + "space", "preserve"); //для атрибутов
Комментариев нет:
Отправить комментарий