Вставить префикс в строку XMLC#

Место общения программистов C#
Anonymous
Вставить префикс в строку XML

Сообщение Anonymous »

Мне нужно написать эту строку XML: Для этого я использую этот код:

Код: Выделить всё

XNamespace myns = "s";

XDocument oXml = new XDocument(new XDeclaration("1.0", "UTF-8", ""));

XElement oRoot = new XElement("Envelope",
new XAttribute(XNamespace.Xmlns + "s", "http://schemas.xmlsoap.org/soap/envelope/"),
new XAttribute(XNamespace.Xmlns + "a", "http://www.w3.org/2005/08/addressing"),
new XAttribute(XNamespace.Xmlns + "fse", "http://www.sist.puglia.it/Schemas/PDD_SIST/SCATEL/FSE/"),
new XAttribute(XNamespace.Xmlns + "u", "http://docs.oasisopen.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd")
);

oXml.Add(oRoot);
Это результат, и это нормально, но начальный символ s: отсутствует перед конвертом, и я не знаю, как его вставить. Я попробовал поместить пространство XNamespace в начало XElement, вот так:

Код: Выделить всё

XElement oRoot = new XElement(myns + "Envelope",
new XAttribute(XNamespace.Xmlns + "s", "http://schemas.xmlsoap.org/soap/envelope/"),
new XAttribute(XNamespace.Xmlns + "a", "http://www.w3.org/2005/08/addressing"),
new XAttribute(XNamespace.Xmlns + "fse", "http://www.sist.puglia.it/Schemas/PDD_SIST/SCATEL/FSE/"),
new XAttribute(XNamespace.Xmlns + "u", "http://docs.oasisopen.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd")
);
Но результат такой: Я не знаю, что еще попробовать, можете ли вы мне помочь?
РЕДАКТИРОВАТЬ: Как я писал в вопросе, я уже пытался вставьте пространство имен перед конвертом, как предложено в сообщении, но у меня это не работает.

Подробнее здесь: https://stackoverflow.com/questions/787 ... xml-string

Вернуться в «C#»