当前位置: 首页>>代码示例>>C++>>正文


C++ PXmlTok::IsTag方法代码示例

本文整理汇总了C++中PXmlTok::IsTag方法的典型用法代码示例。如果您正苦于以下问题:C++ PXmlTok::IsTag方法的具体用法?C++ PXmlTok::IsTag怎么用?C++ PXmlTok::IsTag使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在PXmlTok的用法示例。


在下文中一共展示了PXmlTok::IsTag方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: AddHits

void TDzsHKwBs::AddHits(const PXmlTok& TopicTok, const PBook& Book){
  IAssert(TopicTok->IsTag("topic"));
  // execute query & add hits
  if (TopicTok->IsSubTag("query")){
    // get query string
    TStr QueryStr=TopicTok->GetTagTok("query")->GetTokStr(false);
    // search
    PBixRes BixRes=Book->Search(QueryStr);
    if (BixRes->IsOk()){
      printf("%s - %d\n", QueryStr.CStr(), BixRes->GetHits());
      int Hits=BixRes->GetHits();
      // retrieve or create <refs> subtag
      PXmlTok RefsTok;
      if (Hits>0){
        if (TopicTok->IsSubTag("refs")){
          RefsTok=TopicTok->GetTagTok("refs");
        } else {
          RefsTok=TXmlTok::New(xsyTag, "refs");
          TopicTok->AddSubTok(RefsTok);
        }
      }
      // add hits
      for (int HitN=0; HitN<Hits; HitN++){
        // get hit info
        TStr SecIdStr; TStr TitleStr; TStr SecStr; TStr CtxStr;
        BixRes->GetHitInfo(
         Book, HitN, -1, 100, SecIdStr, TitleStr, SecStr, CtxStr);
        TStr TitleXmlStr=TXmlLx::GetXmlFromPlainStr(TitleStr);
        TStr UrlXmlStr=TXmlLx::GetXmlFromPlainStr(SecIdStr);
        // create <ref>
        PXmlTok RefTok=TXmlTok::New(xsyTag, "ref");
        //RefTok->AddArg("title", TitleXmlStr);
        RefsTok->AddSubTok(RefTok);
        // create <title>
        PXmlTok TitleTok=TXmlTok::New(xsyTag, "title");
        RefTok->AddSubTok(TitleTok);
        PXmlTok TitleStrTok=TXmlTok::New(xsyStr, TitleXmlStr);
        TitleTok->AddSubTok(TitleStrTok);
        // create <url>
        PXmlTok UrlTok=TXmlTok::New(xsyTag, "url");
        RefTok->AddSubTok(UrlTok);
        PXmlTok UrlStrTok=TXmlTok::New(xsyStr, UrlXmlStr);
        UrlTok->AddSubTok(UrlStrTok);
      }
    }
  }
  // recurse
  for (int SubTokN=0; SubTokN<TopicTok->GetSubToks(); SubTokN++){
    PXmlTok CurTok=TopicTok->GetSubTok(SubTokN);
    if (CurTok->IsTag("topic")){
      AddHits(CurTok, Book);
    }
  }
}
开发者ID:mkarlovc,项目名称:gcentralization,代码行数:54,代码来源:dzs.cpp

示例2: IsTopicOk

/////////////////////////////////////////////////
// Dzs-Hierarchical-Keyword-Base
bool TDzsHKwBs::IsTopicOk(const PXmlTok& TopicTok){
  // <topic> is expected
  if (!TopicTok->IsTag("topic")){return false;}
  // <title> is mandatory subtag
  if (!TopicTok->IsSubTag("title")){return false;}
  // recurse
  for (int SubTokN=0; SubTokN<TopicTok->GetSubToks(); SubTokN++){
    PXmlTok CurTok=TopicTok->GetSubTok(SubTokN);
    if (CurTok->IsTag("topic")){
      if (!IsTopicOk(CurTok)){return false;}
    }
  }
  return true;
}
开发者ID:mkarlovc,项目名称:gcentralization,代码行数:16,代码来源:dzs.cpp


注:本文中的PXmlTok::IsTag方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。