С++ Pugixml получает дочерние элементы родителя по идентификатору атрибута

Например:

<levels>
    <level id="1">
        <somestuff></somestuff>
    </level>
    <level id="2">
        <somestuff></somestuff>
    </level>
</levels>

Как получить данные уровня с id 1? Теперь я использую pugi::xml_node level = levels.child("level") Но это возвращает все уровни..

С уважением, GJJ


person gjjansen97    schedule 05.10.2013    source источник


Ответы (2)


Попытайся:

for (pugi::xml_node ambil = doc.child("levels").child("level"); ambil; ambil = ambil.next_sibling("level"))
{
    int id = ambil.attribute("id").as_int();
    CCLog("%d",id);
}
person user2851736    schedule 06.10.2013

foreach дочерние элементы и сравнить значение атрибута. например

for (const auto& node : levels.children("level"))
{
    if (node.attribute("id").as_int() == 1)
    {
        // TODO: add ur code here
    }
}
person HwangBae    schedule 09.10.2013