bool CreateXmlFile(const char *szFileName)
{
//建立xml檔案,szFileName為檔案儲存的路徑,若建立成功傳回true,否則false
try
{
//建立一個XML的文檔對象
TiXmlDocument *myDocument=new TiXmlDocument();
//建立一個Person 元素并連接配接
TiXmlElement *RootElement=new TiXmlElement("Persons");
myDocument->LinkEndChild(RootElement);
//建立一個Person元素并連接配接
TiXmlElement *PersonElement=new TiXmlElement("Person");
RootElement->LinkEndChild(PersonElement);
//設定Person 元素的屬性
PersonElement->SetAttribute("ID","1");
PersonElement->SetAttribute("Name","PersonName");
//建立name元素、age元素并連接配接
TiXmlElement *NameElement=new TiXmlElement("name");
TiXmlElement *AgeElement=new TiXmlElement("age");
PersonElement->LinkEndChild(NameElement);
PersonElement->LinkEndChild(AgeElement);
//設定name元素和age元素的内容并連接配接
TiXmlText *NameContent=new TiXmlText("琳");
TiXmlText *AgeContent=new TiXmlText("25");
NameElement->LinkEndChild(NameContent);
AgeElement->LinkEndChild(AgeContent);
//儲存到檔案
myDocument->SaveFile(szFileName);
}
catch( char* e)
{
return false;
}
return true;
}
bool ReadXmlFile(const char *szFileName)
{
//讀取Xml檔案,并周遊
try
{
//建立一個XML的文檔對象
TiXmlDocument *myDocument=new TiXmlDocument(szFileName);
myDocument->LoadFile();
//獲得根元素,即Persons.
TiXmlElement *RootElement=myDocument->RootElement();
//輸出根元素名稱,即輸出Persons.
//cout<<RootElement->Value()<<endl;
//獲得第一個Person節點。
TiXmlElement *FirstPerson=RootElement->FirstChildElement();
//獲得第一個Person的name節點和age節點和ID屬性。
TiXmlElement *NameElement=FirstPerson->FirstChildElement();
TiXmlElement *AgeElement=NameElement->NextSiblingElement();
TiXmlAttribute *IDAttribute=FirstPerson->FirstAttribute();
TiXmlAttribute *NameAttribute=IDAttribute->Next();
cout<<FirstPerson->Value();
//輸出第一個Person的name,age,id
cout<<":"<<NameElement->FirstChild()->Value()<<",";
//cout<<NameElement->FirstChild()->Value()<<endl;
cout<<AgeElement->FirstChild()->Value()<<endl;
//cout<<IDAttribute->Value()<<endl;
}
catch(char * e)
{
return false;
}
return true;
}
int _tmain(int argc, _TCHAR* argv[])
{
const char *fileName="D:\\TextInfo.xml";
CreateXmlFile(fileName);
ReadXmlFile(fileName);
}
轉載于:https://www.cnblogs.com/kingdom_0/articles/2555274.html