Я искал повсюду для этого.Это может быть я просто ввожу не ту вещь в поиске, я не уверен.Итак, если вы знаете хороший учебник или пример этого, пожалуйста, поделитесь.Я пытаюсь научиться.
У меня есть приложение C # Windows Form, над которым я работаю.У меня есть информация (в данном случае фильмы), сохраненная в файле XML.Я сохранил XML-файл, как это.
//Now we add new movie.
XmlElement nodRoot = doc.DocumentElement;
string allMyChildren = nodRoot.InnerText;
string capitalized = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(movieEditNameTextbox.Text);
int indexLookForNewMake = allMyChildren.IndexOf(capitalized);
if (indexLookForNewMake >= 0)
{
MessageBox.Show("Movie is already saved.", "Error");
}
else
{
XmlElement el = doc.CreateElement("Name");
el.InnerText = capitalized;
doc.DocumentElement.AppendChild(el);
//Check if Year is really a Number.
if (movieEditYearTextbox.Text.All(Char.IsDigit))
{
//Remove ' cause it gives errors.
string capitalizedFixed = capitalized.Replace("'", "");
string capitalizedFinalFixed = capitalizedFixed.Replace("\"", "");
//Assign Attribute to each New one.
el.SetAttribute("Name", capitalizedFinalFixed);
el.SetAttribute("Type", movieEditTypeDropdown.Text);
el.SetAttribute("Year", movieEditYearTextbox.Text);
//Reset all fields, they don't need data now.
movieEditNameTextbox.Text = "";
movieEditYearTextbox.Text = "";
movieEditTypeDropdown.SelectedIndex = -1;
removeMovieTextbox.Text = "";
doc.Save("movie.xml");
label4.Text = "Movie Has been Edited";
loadXml();
}
else
{
//Error out. Year not a Number
MessageBox.Show("Check movie year. Seems it isn't a number.", "Error");
}
}
Это все работает отлично.Теперь я пытаюсь найти каталог, в котором вы можете выбрать каталог, найти каталог и подкаталоги, получить имена файлов и сохранить их в файле XML.
Я использовал это, чтобы попытатьсявыполнить это.Это действительно тянет список.Но это не спасает его.Новая информация не сохраняется.
Я не могу использовать LINQ, так как по какой-то причине это вызывает конфликт с другим кодом.
DirectoryInfo dirCustom = new DirectoryInfo(@"D:\Video");
FileInfo[] filCustom;
filCustom = dirCustom.GetFiles("*",SearchOption.AllDirectories);
//Open XML File.
XmlDocument doc = new XmlDocument();
doc.Load("movie.xml");
XmlElement el = doc.CreateElement("Name");
string fulCustoms = filCustom.ToString();
foreach (FileInfo filFile in filCustom)
{
string capitalized = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(filFile.Name);
string capitalizedFixed = capitalized.Replace("\"", "");
el.SetAttribute("Name", capitalizedFixed);
el.SetAttribute("Type", "EDIT TYPE");
el.SetAttribute("Year", "EDIT YEAR");
richTextBox1.AppendText(capitalizedFixed + "\r\n");
}
doc.Save("movie.xml");
label4.Text = "Movie Has been Edited";
loadXml();
Теперь richTextBox отображает информациюправильно, но это не сохранить его.LoadXml () - это просто мой нубийский способ обновить представление данных.
Я полностью потерян и не знаю, куда обратиться.Я знаю, что мое кодирование, вероятно, ужасно, смеется.Я новичок в этом.Это мое первое более сложное приложение, над которым я работал.
Я не могу больше думать об информации, которая поможет вам понять, что я имею в виду.Я надеюсь, что вы делаете.
Большое спасибо за вашу помощь.