Замена двойной обратной косой черты на одну черную косую черту не работаетC#

Место общения программистов C#
Anonymous
Замена двойной обратной косой черты на одну черную косую черту не работает

Сообщение Anonymous »

Я занят созданием объекта XDocument. В 1 из элементов мне нужно добавить имя домена и учетную запись службы. Сервисный аккаунт выглядит следующим образом:

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

MyDomainName\\MyServiceAccount
Мне нужно, чтобы тег выглядел так:

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

MyDomainName\MyServiceAccount
Неважно, как я пытаюсь заменить \\ на \, все равно получается \\ .

Вот что у меня есть на данный момент:

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

XDocument xDocument = new XDocument(
new XDeclaration("1.0", "utf-8", null),
new XElement("MyAppsTable",
myApplications.Select(component => new XElement("MyApps",
new XElement("ChangeResult", string.Empty),
new XElement("ChangeRunAsName", serviceAccount.DomainServiceAccount.Replace("\\\\", "\\")
))
)
);
Входные параметры myApplications и serviceAccount выглядят следующим образом:

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

IEnumerable myApplications
ServiceAccount serviceAccount
Я пробовал следующее:

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

serviceAccount.DomainServiceAccount.Replace("\\\\", "\\")
serviceAccount.DomainServiceAccount.Replace(@"\\", @"\")
...и всё равно получается:

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

MyDomainName\\MyServiceAccount
Я больше не знаю, что делать.

У меня есть это после кода выше:

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

string xml = xDocument.ToString();
При отладке я просматриваю содержимое xml, а затем вижу \ и \\. Эту XML-строку мне нужно передать другому методу.

Подробнее здесь: https://stackoverflow.com/questions/153 ... ot-working

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