读取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;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值