using namespace System::Xml;
public:XmlDocument^ MyXMLDoc;
private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) {
MyXMLDoc = gcnew XmlDocument();
}
//写入
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
XmlElement^ MyNewBook;
XmlElement^ MyTitle;
XmlElement^ MyAuthor;
XmlElement^ MyName;
XmlElement^ MyPrice;
XmlTextWriter^ MyWriter;
try{
this->MyXMLDoc->Load(Application::StartupPath + "//books.xml");
MyNewBook = MyXMLDoc->CreateElement("book");
MyTitle = MyXMLDoc->CreateElement("title");
MyTitle->InnerText = this->textBox1->Text;
MyNewBook->AppendChild(MyTitle);
MyAuthor = MyXMLDoc->CreateElement("author");
MyNewBook->AppendChild(MyAuthor);
MyName = MyXMLDoc->CreateElement("name");
MyName->InnerText = this->textBox2->Text;
MyNewBook->AppendChild(MyName);
MyPrice = MyXMLDoc->CreateElement("price");
MyPrice->InnerText = this->textBox3->Text;
MyNewBook->AppendChild(MyPrice);
MyXMLDoc->DocumentElement->AppendChild(MyNewBook);
MyWriter = gcnew XmlTextWriter(Application::StartupPath + "//books.xml", nullptr);
MyWriter->Formatting = Formatting::Indented;
MyXMLDoc->WriteContentTo(MyWriter);
MyWriter->Close();
MessageBox::Show("success", "", MessageBoxButtons::OK, MessageBoxIcon::Information);
}
catch(Exception^ eee){
MessageBox::Show(eee->Message, "", MessageBoxButtons::OK, MessageBoxIcon::Information);
}
}
//读取
private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) {
XmlNodeList^ MyNodes;
XmlNode^ MyNode;
array<System::String^>^ MyItems;
int i = 0;
this->listView1->Items->Clear();
try{
MyItems = gcnew array<System::String^>(3);
this->MyXMLDoc->Load(Application::StartupPath + "//books.xml");
MyNodes = this->MyXMLDoc->GetElementsByTagName("title");
for each(MyNode in MyNodes){
MyItems[0] = MyNode->InnerText;
MyItems[1] = "";
MyItems[2] = "";
this->listView1->Items->Add(gcnew ListViewItem(MyItems));
}
MyNodes = this->MyXMLDoc->GetElementsByTagName("name");
for each(MyNode in MyNodes){
this->listView1->Items[i]->SubItems[1]->Text = MyNode->InnerText;
i++;
}
i = 0;
MyNodes = this->MyXMLDoc->GetElementsByTagName("price");
for each(MyNode in MyNodes){
this->listView1->Items[i]->SubItems[2]->Text = MyNode->InnerText;
i++;
}
}
catch(Exception^ eee){
MessageBox::Show(eee->Message, "", MessageBoxButtons::OK, MessageBoxIcon::Information);
}
}