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::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"))));
}
}
}
加载本地播放列表
路径: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"))));
}
}
}