我有一个 XML 文件:
<shape type="obj">
<string name="filename" value="meshes/cbox_luminaire.obj"/>
<transform name="toWorld">
<translate x="0" y="-0.5" z="0"/>
</transform>
<ref id="light"/>
<emitter type="area">
<spectrum name="radiance" value="400:0, 500:8, 600:15.6, 700:18.4"/>
</emitter>
</shape>
<shape type="obj">
<string name="filename" value="meshes/cbox_back.obj"/>
<ref id="white"/>
</shape>
我需要提取形状的文件路径。
XMLElement * a = doc.FirstChildElement( "scene" );//->FirstChildElement("shape");
for(XMLElement* elem = a->FirstChildElement(); elem != NULL; elem = elem->NextSiblingElement())
{
std::string elemName = elem->Value();
if(elemName=="shape")
toto.push_back(elem);
}
for(unsigned int i =0;i<toto.size();i++)
{
const XMLAttribute* tmp = toto[i]->FirstAttribute ();
std::cout<<tmp->Name()<<":"<<tmp->Value()<<"\n";
}
我可以检索的唯一数据是第一个属性又名类型:obj 如何获取文件名、转换数据(如果存在)和其他数据?