读取XML文件

using namespace tinyxml2


CCArray* EdgeSprite::createEdge(int perStages,b2World *world)

{

XMLDocument* pDoc = new XMLDocument();

unsigned char* pBuffer =NULL;

unsigned long bufferSize =0;

pBuffer = CCFileUtils::sharedFileUtils()->getFileData("stages.xml","r",&bufferSize);

if (pBuffer) {

pDoc->Parse((const char*)pBuffer);

//得到根节点

XMLElement* rootEle = pDoc->RootElement();

// cclog("%s",rootEle->GetText());

XMLElement* stage = rootEle->FirstChildElement();

XMLElement* edge = stage->FirstChildElement();

while (stage) {

// printf("%s\n",stage->Attribute("name"));

if (string(stage->Attribute("name"))==string(CCString::createWithFormat("%d",perStages)->getCString()))

{

edge = stage->FirstChildElement();

while (edge) {

const XMLAttribute* attr = edge->FirstAttribute();

string name = string(attr->Value());

// printf("%s\t",name.c_str());

attr = attr->Next();

int x = attr->IntValue();

// printf("%d\t",x);

attr = attr->Next() ;

int y = attr->IntValue();

// printf("%d\t",y);

edge = edge->NextSiblingElement();

CCPoint p = ccpHeight(x,y);

this->createEdge( p.x,p.y,name,world);

}

}

stage = stage ->NextSiblingElement();

}


}

return EdgeBody;

}

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念