Как прочитать значение пары ключей из xml с помощью boost ptree - PullRequest
0 голосов
/ 08 октября 2018

У меня есть следующая структура XML-файла

<?xml version="1.0" encoding="UTF-8"?>
<section name="pvf">
    <section name="p1">
        <item value="92.31335795746914" key="x"/>
        <item value="-746.7962776760924" key="y"/>
        <item value="400.1902893301479" key="z"/>
        <item value="1" key="u1"/>
        <item value="7" key="type"/>
        <item value="Inlet 2" key="value"/>
    </section>
</section>

Мне нравится читать значения x, y и z в std::array<float,3> point

Iможет перебрать все элементы с

for (const auto &v : subtree.get_child(""))

и затем

if (item.get<std::string>("<xmlattr>.key") == "x") {
    point[0] = item.get<float>"<xmlattr>.value");
}

, а также для y и z.

Есть ли более элегантный способ прочитать это?

Могу ли я использовать обозначение

m_level = pt.get("p1.x", 0);

, как в документации повышения

...