1. 程式人生 > >cocos2d-x 3.2 XML讀取第二章(優化)

cocos2d-x 3.2 XML讀取第二章(優化)

在第一章分別清晰的列出每一步的步驟,但這樣的程式碼冗餘,但XML多的時候,更是寫了N行程式碼,進行重構。

詳細:在init()中

tinyxml2::XMLDocument* homework	=	new tinyxml2::XMLDocument();
	homework->LoadFile("homework.xml");

	XMLElement* rootElement = homework->RootElement();  // Class  

	XMLElement* studentsElement = rootElement->FirstChildElement();  // Students  
	XMLElement* studentElement = studentsElement->FirstChildElement(); // student  

	while (studentElement) {  
		const XMLAttribute* attributeOfStudent = studentElement->FirstAttribute();  //獲得student的name屬性  
		while ( attributeOfStudent ) {  

			log("%s : %s",attributeOfStudent->Name(),attributeOfStudent->Value());  

			attributeOfStudent = attributeOfStudent->Next();  
		}  
		XMLElement* phoneElement = studentElement->FirstChildElement();//獲得student的phone元素  

		log("phone : %s",phoneElement->GetText());  

		
		XMLElement* addressElement = phoneElement->NextSiblingElement();  

		log("address : %s",addressElement->GetText());  
		
		studentElement = studentElement->NextSiblingElement();  
	}  
	delete homework;