(独家)cocos2d-x与excel通过xml文件读写双向交互(下)

44 篇文章 0 订阅
44 篇文章 0 订阅

写入xml



string  row1Str0 =" <Row>";

   string  row1Str = "   <Row>";

   string  row2Str = "   </Row>";

    string  word1Str ="<Cell><Data ss:Type=\"String\"><Font html:Face=\"宋体\"x:CharSet=\"134\" x:Family=\"Swiss\" html:Color=\"#000000\"xmlns=\"http://www.w3.org/TR/REC-html40\">";

   

    string  word2Str ="</Font></Data></Cell>";

   string  pattern1 = "</Table>";

   string  breakLine = "\n";

    string   rowPattern="ExpandedRowCount=\"77\"";//

  

    

    

    NSString * patternStr = [[NSBundlemainBundle] pathForResource:@"excelPattern"ofType:@"xml"];

    patternStr = [NSStringstringWithContentsOfFile:patternStr encoding:NSUTF8StringEncodingerror:nil];

   const char * patternChar = [patternStrUTF8String];

   

   vector<string>ivec1 = PersonalApiCplu::split(patternChar,pattern1);//取出所有单词套组

    

  

    //绘制xml

   string insertStr;

   for (int i =0; i<[[SingleTonTooldefaultMemory].wordListArraycount]; i++)

    {

       string rowStr;

       NSArray * wordArray = [[SingleTonTooldefaultMemory].wordListArrayobjectAtIndex:i];

       for (int j =0; j<[wordArray count]; j++)

        {

           NSString * aString = [wordArray objectAtIndex:j];

           string wordStr = [aString UTF8String];

            rowStr = rowStr+word1Str+wordStr+word2Str+breakLine;//<Cell><Data ss:Type=\String\> WORD </Data></Cell>

        }

       if (i==0)

        {

            insertStr = insertStr+row1Str0+breakLine+rowStr+row2Str+breakLine;

        }

       else

        {

            insertStr = insertStr+row1Str+breakLine+rowStr+row2Str+breakLine;

        }

        

        

       /*

         <Row>

         <Cell><Data ss:Type=\String\> WORD </Data></Cell>

         </Row>

         */

    }

    

    

   string xmlStr = ivec1[0]+ insertStr + pattern1 + ivec1[1];

    

    //把单词的数量和行数

   string rowStr;

  

    //int string

    int i= [[SingleTonTooldefaultMemory].wordListArraycount];

    

   string c;

    

    ostringstream oss;

    oss<<i;

    

    c=oss.str();

    

    string changeString ="ExpandedRowCount=\"77\"";

   PersonalApiCplu::string_replace(changeString,"77",c);//

   cout<<changeString<<endl;

  

    

   PersonalApiCplu::string_replace(xmlStr,rowPattern,changeString);//

    

    

   const char * aChar = xmlStr.c_str();

        

    //xml

    NSString *docPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES)

                        objectAtIndex:0];

    

    NSString *filePath = [docPathstringByAppendingPathComponent:@"mylist.xml"];

    

   string path = [filePath UTF8String];

FILE *fp =fopen(path.c_str(),"w");

    

    

fputs(aChar, fp);

fclose(fp);


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值