松鼠的博客

导航

XML文件操作

头文件

#include <msxmldom.hpp>
#include <XMLDoc.hpp>
#include <xmldom.hpp>
#include <XMLIntf.hpp>

/*
    保存
    路径:abcd\\abcd\\abcd.xml
*/
void CustomerPlayList::Save()
{
    _di_IXMLDocument doc 
= NewXMLDocument();
    doc
->DocumentElement = doc->CreateElement(WideString("root"),"");
    _di_IXMLNode root 
= doc->DocumentElement;
    
int count = this->PlayList->Items->Count;
    
for(int i = 0 ; i < count ; ++i)
    {
       _di_IXMLNode child 
= root->AddChild(WideString("item"));
       child
->SetAttribute(WideString("Title"),WideString(this->PlayList->Items->Item[i]->SubItems->Strings[0]));
        child
->SetAttribute(WideString("Singer"),WideString(this->PlayList->Items->Item[i]->SubItems->Strings[1]));
        child
->SetAttribute(WideString("Length"),WideString(this->PlayList->Items->Item[i]->SubItems->Strings[2]));
        child
->SetAttribute(WideString("PlayTime"),WideString(this->PlayList->Items->Item[i]->SubItems->Strings[3]));
        child
->SetAttribute(WideString("FileType"),WideString(this->PlayList->Items->Item[i]->SubItems->Strings[4]));
        child
->SetAttribute(WideString("LocalPath"),WideString(this->PlayList->Items->Item[i]->SubItems->Strings[5]));
        child
->SetAttribute(WideString("NetPath"),WideString(this->PlayList->Items->Item[i]->SubItems->Strings[6]));
    }
    doc
->SaveToFile(this->GetPath());
}

 

 

/*
    加载本地播放列表
    路径:abcd\\abcd\\abcd.xml
*/
void CustomerPlayList::GetPlayList()
{
    
if(FileExists(AnsiString(this->GetPath())))
    {
        _di_IXMLDocument doc 
= LoadXMLDocument(this->GetPath());
        _di_IXMLNodeList list 
= doc->DocumentElement->ChildNodes;

        
for(int i = 0 , l = list->Count ; i < l ; ++i)
        {
            _di_IXMLNode node 
= list->Nodes[i];
            TListItem
* it = this->PlayList->Items->Add();
            it
->Caption = AnsiString(i+1);
            it
->SubItems->Add(AnsiString(node->GetAttribute(WideString("Title"))));
            it
->SubItems->Add(AnsiString(node->GetAttribute(WideString("Singer"))));
            it
->SubItems->Add(AnsiString(node->GetAttribute(WideString("Length"))));
            it
->SubItems->Add(AnsiString(node->GetAttribute(WideString("PlayTime"))));
            it
->SubItems->Add(AnsiString(node->GetAttribute(WideString("FileType"))));
            it
->SubItems->Add(AnsiString(node->GetAttribute(WideString("LocalPath"))));
            it
->SubItems->Add(AnsiString(node->GetAttribute(WideString("NetPath"))));
        }
    }
}

posted on 2008-08-12 17:48  Xproer-松鼠  阅读(563)  评论(0)    收藏  举报