У меня проблема с обновлением существующего XML, но я не получаю никаких ошибок. Цель функции - проверить, существует ли файл, если он существует, тогда я хочу, чтобы новые значения были добавлены в конец существующего XML.
Функция проверяет существующие XML без каких-либо проблем, и если она не находит XML, который отлично работает, но когда файл существует, он не добавляет новую информацию в конец. Пожалуйста, кто-нибудь может мне помочь
Приведенный ниже код является частью функции, которая проверяет существующие файлы и пытается обновить файл.
void HashMe::SaveHashButton()
{
try
{
array<String^>^ Available = gcnew array<String^>(100);
Available = IO::Directory::GetFiles("E:\\XML Folder\\");
String^ TextBoxText = textBox1->Text->ToString();
for(int x = 0; x < Available->Length; x++)
{
String^ Current = Available[x];
String^ NoExtension = IO::Path::GetFileNameWithoutExtension(Current);
if(TextBoxText == NoExtension)
{
XmlDocument^ XmlDoc = gcnew XmlDocument();
XmlDoc->Load(Current);
XmlDoc->CreateElement("Project");
XmlDoc->CreateAttribute("Name", textBox1->Text->ToString());
XmlDoc->CreateElement("TestCycle");
XmlDoc->CreateAttribute("Number", textBox2->Text->ToString());
for (int x = 0; x < listBox2->Items->Count; ++x)
{
String^ FileName = listBox2->Items[x]->ToString();
String^ Hash = listBox3->Items[x]->ToString();
XmlDoc->CreateElement("FileName");
XmlDoc->CreateAttribute("FileName", FileName);
XmlDoc->CreateElement("HashCode");
XmlDoc->CreateAttribute("HashCode", Hash);
}
XmlDoc->AppendChild(
XmlDoc->Save(Current);
return;
}
}
Результат создания нового XML выглядит следующим образом:
<?xml version="1.0" encoding="utf-8"?>
<Project Name="d">
<TestCycle Number="1">
<FileName>E:\XML Folder\c.xml</FileName>
<HashCode>FC-8B-4D-EF-F6-21-C8-7A-1B-8C-40-BE-AC-7E-1E-5B</HashCode>
</TestCycle>
</Project>
Так что, если обновление прошло успешно, я бы хотел, чтобы обновленный XML выглядел, например, так:
<?xml version="1.0" encoding="utf-8"?>
<Project Name="d">
<TestCycle Number="1">
<FileName>E:\XML Folder\c.xml</FileName>
<HashCode>FC-8B-4D-EF-F6-21-C8-7A-1B-8C-40-BE-AC-7E-1E-5B</HashCode>
</TestCycle>
</Project>
<Project Name="This is the appended new information">
<TestCycle Number="99">
<FileName>E:\XML Folder\c.xml</FileName>
<HashCode>FC-8B-4D-EF-F6-21-C8-7A-1B-8C-40-BE-AC-7E-1E-5B</HashCode>
<FileName>E:\XML Folder\c.xml</FileName>
<HashCode>FC-8B-4D-EF-F6-21-C8-7A-1B-8C-40-BE-AC-7E-1E-5B</HashCode>
<FileName>E:\XML Folder\c.xml</FileName>
<HashCode>FC-8B-4D-EF-F6-21-C8-7A-1B-8C-40-BE-AC-7E-1E-5B</HashCode>
<FileName>E:\XML Folder\c.xml</FileName>
<HashCode>FC-8B-4D-EF-F6-21-C8-7A-1B-8C-40-BE-AC-7E-1E-5B</HashCode>
</TestCycle>
</Project>
Пожалуйста, кто-нибудь, помогите мне: (