Привіт, я отримую помилку в коді нижче, як нелегальні символи на шляху, як очистити це?
string pathway = System.IO.File.ReadAllText(@"D:\Project\SMCCampaignmgmt\trunk\Run\smccampaignwindows.exe.config");
XmlDocument doc = new XmlDocument();
doc.Load(pathway);
Відповіді:
5 за відповідь № 1The @
символ на початку рядка означає, що ви оголошуєте a буквально рядок, вам не потрібно уникати цього.
Використовуйте замість
\
або альтернативно видалити @
символ
Після тестування цього виявляється, що подвійний нахил не виграє насправді цей виняток, Windows здається досить розумним, щоб ігнорувати додаткові . Однак, здається, ви завантажуєте інший шлях, який використовуєте для завантаження XML-файлу, тобто
string pathway = ...
Проблема, швидше за все, у цьому шляху до файлу(який ви не показуєте у своєму прикладі). Цей шлях або має недійсний символ у ньому, або, можливо, через проблему кодування з тим, як ви читаєте файл у.
Насправді при подальшому перегляді коду виглядає так, ніби ви намагаєтеся завантажити свій код app.config
файл The Завантаження метод XDocument
очікує шлях до файлу, а не необроблений XML. У вас є 2 варіанти, використовуйте Load
правильно, пройшовши шлях файлу безпосередньо
doc.Load("D:\Project\SMCCampaignmgmt\trunk\Run\smccampaignwindows.exe.config")
Або зберігайте код так, як у вас є, але зателефонуйте до Розібрати метод
string pathway = System.IO.File.ReadAllText(@"D:\Project\SMCCampaignmgmt\trunk\Run\smccampaignwindows.exe.config");
XmlDocument doc = XmlDocument.Parse(pathway);
2 для відповіді № 2
Якщо ви використовуєте @ для виходу з цілої рядки, ви не повинні уникати вручну всередині цього рядка.
0 для відповіді № 3
Я не можу бачити жодних незаконних символів на цьому шляху, але дайте цьому піти
doc.Save(@"D:ProjectSMCCampaignmgmttrunkRunsmccampaignwindows.exe.config");
0 для відповіді № 4
На шляху ви завантажуєте весь файл (ReadAllText). Незаконні символи, ймовірно, містяться у вмісті цього файлу (тобто у D: ProjectSMCCampaignmgmttrunkRunsmccampaignwindows.exe.config)