У меня есть XML-файл, который содержит некоторую информацию для запуска приложения из моего exe-файла.Например:
<details>
C:\Program Files\...\abc.exe -env env -direnv direnv
</details>
Мне нужно разделить в качестве первой части пути для exe и оставшихся в качестве аргументов.Но я получаю только C:\Program
, когда делю пробел.Есть ли другое решение для получения вывода в виде:
string [0] = C: \ Program Files ... \ abc.exe
string [1] = -env env -direnv
direnv
Редактировать код для извлечения из XML:
XMLNodeLst = GetNodeFromXML().SelectNodes("Path");
if (XMLNodeLst != null)
{
foreach (XmlNode xmlNode in XMLNodeLst)
{
foreach (XmlNode pathNode in xmlNode.ChildNodes)
{
Match m = Regex.Match(source, pathNode.Name, RegexOptions.IgnoreCase);
if (m.Success)
{
installPath = pathNode.InnerText.Trim();
break;
}
else
{
logs.Error("No corresponding value in settings for the provided source name. Please check again!");
MessageBox.Show("No corresponding value in settings for the provided source name. Please check again!");
Environment.Exit(-1);
}
}
}
}
XML:
<?xml version="1.0" encoding="utf-8" ?>
<Path>
<details>
C:\Program Files\...\abc.exe -env env -direnv direnv
</details>
</Path>
Для разделения:
string[] configs = installPath.Trim().Split(' ');
exePath = configs[0];
exeArgs = installPath.Remove(0, installPath.IndexOf(' ') + 1);