我已经将xml模板化,如下所示,在其中我需要找到最后一个childtag xml字符串。
<?xml version="1.0" encoding="UTF-8">
<Test xmlns:Test="http://www.w3.org/TR/html4/">
<TestID>1</TestID>
<TestData>
<ParentTag1>A</ParentTag1>
<ParentTag2>B</ParentTag2>
{{ChildTag}}
</TestData>
</Test>
ChildTag
<Tag1>E</Tag1>
<Tag2>F</Tag2>
所以我遵循的方法是在字符串中找到childtag的最后一个并从该位置获取子字符串。下面是此的示例代码,应该注意的是,我正在从文件中读取此XML:
#include <iostream>
#include <fstream>
#include <algorithm>
#include <iterator>
using namespace std;
int main()
{
std::ifstream fin("abc.xml");
fin.unsetf(ios_base::skipws);
std::string fileData = std::string(std::istream_iterator<char>(fin),std::istream_iterator<char>());
std::cout<<fileData<<std::endl;
auto childxmlindex = fileData.find_last_of("ChildTag");
std::cout<<childxmlindex<<std::endl;
std::cout<<"Child XML : "<<fileData.substr(childxmlindex)<<std::endl;
return 0;
}
行filedata有问题。find_last_of(“childtag”),因为它给出的随机数与实际索引无关。此字符串是否有导致find_last_of失败的问题?