Stap 7: Het lezen van XML met boost::property_tree...
Er zijn veel bibliotheken, die kunnen worden gebruikt om XML-bestanden te lezen. De meeste van hen zijn zwaar en complex. Boost property_tree echter is zeer makkelijk te gebruiken en bestaat uit een header-bestand alleen uitvoering.
De TC Logger gegevensdossiers zijn in een XML-(of XML-achtige) formaat. (Zie de voorbeeldbestanden die bij de code in de github geleverd, evenals de afbeelding als bijlage aan deze stap).
Voor het gebruik van boost::property_tree om te lezen van XML starten bestanden door de volgende headerbestanden:
Slechts een paar meer regels nodig om een XML-bestand openen en de gegevens lezen, weergegeven in de volgende code in ExcelAutomation.cpp:
Dat is makkelijk! Is nu net zo makkelijk om te lezen van de posten van de property_tree. In het volgende voorbeeld leest een double-waarde:
Als de vermelding niet gevonden is, wordt de standaardwaarde van 0.0 teruggeleid worden. In ons geval wordt ExitDiameter gelezen uit het bestand MTD1 dat lijkt op dit:
Tekenreeksen kunnen worden gelezen van het XML-bestand met behulp van code als volgt:
Opmerking de boost-documentatie bevat details over het gebruik van property_tree. Bijvoorbeeld, als de standaardwaarden zijn niet bepaald een uitzondering gegooid zal worden als de vermelding nog niet bestaat.
Voor meer voorbeelden, kijk de rest van ExcelAutomation.cpp in de TCLogger2Excel-code base, of bezoek de boost documentatiepagina.