本文整理汇总了C++中PXmlTok::GetTokStr方法的典型用法代码示例。如果您正苦于以下问题:C++ PXmlTok::GetTokStr方法的具体用法?C++ PXmlTok::GetTokStr怎么用?C++ PXmlTok::GetTokStr使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PXmlTok
的用法示例。
在下文中一共展示了PXmlTok::GetTokStr方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
void TCpDoc::LoadReuters2000DocFromXml(const TStr& FNm,
TStr& DocId, TStr& DateStr, TStr& TitleStr,
TStr& HeadlineStr, TStr& BylineStr, TStr& DatelineStr,
TStrV& ParStrV,
TStrV& TopCdNmV, TStrV& GeoCdNmV, TStrV& IndCdNmV){
PXmlDoc Doc=TXmlDoc::LoadTxt(FNm);
// get text strings
// general document data
DocId=Doc->GetTagTok("newsitem")->GetArgVal("itemid");
DateStr=Doc->GetTagTok("newsitem")->GetArgVal("date");
TitleStr=Doc->GetTagTok("newsitem|title")->GetTokStr(false);
HeadlineStr=Doc->GetTagTok("newsitem|headline")->GetTokStr(false);
BylineStr=""; PXmlTok BylineTok;
if (Doc->IsTagTok("newsitem|byline", BylineTok)){
BylineStr=BylineTok->GetTokStr(false);}
DatelineStr=""; PXmlTok DatelineTok;
if (Doc->IsTagTok("newsitem|dateline", DatelineTok)){
DatelineStr=DatelineTok->GetTokStr(false);}
// text paragraphs
ParStrV.Clr(); TXmlTokV ParTokV; Doc->GetTagTokV("newsitem|text|p", ParTokV);
for (int ParTokN=0; ParTokN<ParTokV.Len(); ParTokN++){
TStr ParStr=ParTokV[ParTokN]->GetTokStr(false);
ParStrV.Add(ParStr);
}
// codes
TopCdNmV.Clr(); GeoCdNmV.Clr(); IndCdNmV.Clr();
TXmlTokV CdsTokV; Doc->GetTagTokV("newsitem|metadata|codes", CdsTokV);
for (int CdsTokN=0; CdsTokN<CdsTokV.Len(); CdsTokN++){
PXmlTok CdsTok=CdsTokV[CdsTokN];
TXmlTokV CdTokV; CdsTok->GetTagTokV("code", CdTokV);
if (CdsTok->GetArgVal("class")=="bip:topics:1.0"){
for (int CdTokN=0; CdTokN<CdTokV.Len(); CdTokN++){
TStr CdNm=CdTokV[CdTokN]->GetArgVal("code");
TopCdNmV.Add(CdNm);
}
} else
if (CdsTok->GetArgVal("class")=="bip:countries:1.0"){
for (int CdTokN=0; CdTokN<CdTokV.Len(); CdTokN++){
TStr CdNm=CdTokV[CdTokN]->GetArgVal("code");
GeoCdNmV.Add(CdNm);
}
} else
if (CdsTok->GetArgVal("class")=="bip:industries:1.0"){
for (int CdTokN=0; CdTokN<CdTokV.Len(); CdTokN++){
TStr CdNm=CdTokV[CdTokN]->GetArgVal("code");
IndCdNmV.Add(CdNm);
}
} else {
Fail;
}
}
}
示例2: GetDocParts
void TDzsBsDoc::GetDocParts(
const TStr& FNm, const PXmlDoc& XmlDoc,
const TStr& FPath, const TStr& WebAlias,
bool& Ok, TStr& IdStr, TStr& TitleStr, TStr& DataStr, int& YearN){
Ok=false;
if (!XmlDoc->IsOk()){return;}
// id
IdStr=FNm;
IdStr.ChangeStr(FPath, WebAlias);
// PXmlTok IdTok;
// if (XmlDoc->IsTagTok("term|metadata|identifier", IdTok)){
// IdStr=IdTok->GetTokStr(false);}
// else {return;}
// title
PXmlTok TitleTok;
if (XmlDoc->IsTagTok("term|metadata|title", TitleTok)){
TitleStr=TitleTok->GetTokStr(false);}
else {return;}
// timedata
TXmlTokV TimeDataTokV;
XmlDoc->GetTagTokV("term|data|frame|timedata|fromyear", TimeDataTokV);
TStr TimeDataStr=TXmlTok::GetTokVStr(TimeDataTokV, false);
if (TimeDataStr.IsInt(YearN)){} else {YearN=0;}
// locdata
TXmlTokV LocDataTokV;
XmlDoc->GetTagTokV("term|data|frame|locdata", LocDataTokV);
TStr LocDataStr=TXmlTok::GetTokVStr(LocDataTokV, true);
// pages
TXmlTokV PageTokV; XmlDoc->GetTagTokV("term|data|frame|page", PageTokV);
DataStr=GetDataTokVStr(PageTokV, "\n")+" "+LocDataStr;
// character-set transformation
TitleStr=THtmlLxChDef::GetCSZFromWin1250(TitleStr);
DataStr=THtmlLxChDef::GetCSZFromWin1250(DataStr);
// success
Ok=true;
}