fork(1) download
  1. #include <boost/property_tree/ptree.hpp>
  2. #include <boost/property_tree/xml_parser.hpp>
  3. #include <iostream>
  4. #include <string>
  5.  
  6. int main() {
  7. using boost::property_tree::ptree;
  8. ptree pt;
  9.  
  10. std::string xml = R"(
  11. <?xml version="1.0" encoding="UTF-8"?>
  12. <result xmlns:xf="http://w...content-available-to-author-only...3.org/2000/xforms">
  13. <interpretation confidence="4" grammar="session:4165613484088130576_ff437140-ce30-46f8-85f9-ac756bfe27cb">
  14. <xf:instance>
  15. <result>
  16. <AskConfirmation>False</AskConfirmation>
  17. <address>undefined</address>
  18. <entityid>361659</entityid>
  19. <isleaf>1</isleaf>
  20. <name>Madame Véronique ABONDANCE</name>
  21. <originalid>1677</originalid>
  22. <parentid>361656</parentid>
  23. <recognitionAttemptNumber>2</recognitionAttemptNumber>
  24. <recognitionThresholdMax>65</recognitionThresholdMax>
  25. <recognitionThresholdMin>50</recognitionThresholdMin>
  26. <recognizedword>ABONDANCEVéronique</recognizedword>
  27. <routingNumberOnNonRecognition>6302</routingNumberOnNonRecognition>
  28. <transfertnumber1>2614</transfertnumber1>
  29. <transfertnumber2>undefined</transfertnumber2>
  30. <transfertnumber3>undefined</transfertnumber3>
  31. <wavefile>TTS_fr-FR_9DFDE757EF8CC42956D78B159D259932.wav</wavefile>
  32. </result>
  33. </xf:instance>
  34. <input mode="speech">ABONDANCE</input>
  35. </interpretation>
  36. </result>
  37. )";
  38.  
  39. std::stringstream ss(xml);
  40. read_xml(ss, pt);
  41.  
  42. int confidence = pt.get<int>("result.interpretation.<xmlattr>.confidence");
  43. std::string name = pt.get<std::string>("result.interpretation.xf:instance.result.name");
  44.  
  45. std::cout << "Confidence: " << confidence << std::endl;
  46. std::cout << "Name: " << name << std::endl;
  47.  
  48. return 0;
  49. }
Success #stdin #stdout 0.01s 5460KB
stdin
Standard input is empty
stdout
Confidence: 4
Name: Madame Véronique ABONDANCE