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

相关文章:

  • 2022-02-14
  • 2021-08-25
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-04-24
  • 2022-12-23
  • 2021-08-03
猜你喜欢
  • 2021-11-29
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-02-26
相关资源
相似解决方案