写入XML文件和用listview显示XML文件

 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);

             }
         }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值