Я получаю XML-файл с учетными данными, и мне нужно проанализировать его значения в c ++ 11.Проблема в том, что я не смог разобрать этот конкретный формат xml (формат 1):
<Parameters>
<Parameter ParameterName="AccessKey" ParameterValue="ABC"/>
<Parameter ParameterName="SecretKey" ParameterValue="XYZ"/>
</Parameters>
Я знаком с boost :: property_tree, но мне удалось проанализировать только приведенный ниже формат (формат 2).):
<Parameters>
<AccessKey>ABC</AccessKey>
<SecretKey>XYZ</SecretKey>
</Parameters>
Ниже приведен код, который я использовал для разбора формата xml 2:
#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/xml_parser.hpp>
namespace pt = boost::property_tree;
bool getCredentialsfromXml(const std::string &xmlFileName, Credentials& credentials)
{
pt::ptree tree;
pt::read_xml(xmlFileName, tree);
// 1. AccessKey
credentials.m_accessKey = tree.get_optional<std::string>("Parameters.AccessKey");
// 2. SecretKey
credentials.m_secretKey = tree.get_optional<std::string>("Parameters.SecretKey");
return true;
}
Есть ли способ изменить мой код для разбора формата xml 1?или любой другой способ разбора xml формата 1 в c ++ 11?
Заранее спасибо!