本文整理汇总了C++中xml::Document::ReadFile方法的典型用法代码示例。如果您正苦于以下问题:C++ Document::ReadFile方法的具体用法?C++ Document::ReadFile怎么用?C++ Document::ReadFile使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类xml::Document
的用法示例。
在下文中一共展示了Document::ReadFile方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: AddCards
void CardSet::AddCards(const string& filename)
{
int old_nextcard=nextcard;
if(db.Base()==0)
{
db.ReadFile(Localization::File(filename));
Validate(db);
db.Base()->DelAttribute("name");
}
else
{
XML::Document add;
add.ReadFile(Localization::File(filename));
Validate(add);
db("cards").front()->AddSubelements(add("cards","card"));
}
list<XML::Element*>::const_iterator i;
card=vector<XML::Element*>(nextcard);
list<XML::Element*>& C=db("cards").front()->Subs();
i=C.begin();
for(int j=0; j<nextcard; j++)
card[j]=*i++;
for(int j=old_nextcard; j<nextcard; j++)
{
string rarity=AttrValue(j,"rarity");
while(rarity!="")
{
size_t k;
for(k=0; k<rarity.length(); k++)
if((rarity[k]>='0' && rarity[k]<='9') || (rarity[k]=='+' && (k+1<rarity.length())))
break;
rarities.insert(rarity.substr(0,k));
while(k<rarity.length() && rarity[k]!='+')
k++;
if(k+1<rarity.length())
rarity=rarity.substr(k+1,rarity.length());
else
rarity="";
}
list<string> att=Attributes(j);
for(list<string>::iterator n=att.begin(); n!=att.end(); n++)
attributes.insert(*n);
}
}