est-il possible, via XML_Writer_Settings utilisé comme troisième paramètre dans l'appel Write_xml, pour omettre la déclaration XML lorsque la fonction enregistre le XML? Je veux dire, je voudrais ne pas avoir la première "Version XML =" Blah "coding =" bla bla ". Je cherche Internet mais je n'ai toujours pas trouvé de réponse. Comment le faire? P >
3 Réponses :
Non, ce n'est pas possible. Regardez ici pour les membres de XML_Writer_Settings
Et aussi, wreck_xml code> appels
wreck_xml_internal code> qui est (à boost 1.52) p>
Que voulez-vous dire avec "ce n'est pas réel"?
@Magallo que ce n'est pas possible.
Ah, pas possible. Eh bien, c'est très décevant. Je savais que Boost a utilisé RapidXML en interne. Je sais que cela est possible avec RapidXML, je ne comprends vraiment pas pourquoi ils ne nous ont pas donné cette possibilité. Merci de toute façon votre réponse.
Oui, c'est possible, mais vous devrez appeler directement la fonction "write_xml_element" directement. Voici un exemple avec Boost 1.49:
using namespace boost::property_tree; ptree pt; ... write_xml_element(std::cout,ptree::key_type(),pt,-1,xml_writer_settings<ptree::key_type::value_type>());
Remarque pour tous ceux qui trébuchent sur cette réponse: Si vous souhaitez mettre à jour ceci pour Boost dans les versions ultérieures (je suis sur 1.69), omettez simplement :: valeur_type code> dans
xml_writer_settings <> code > (Donc, il est
xml_writer_settings
key_type code> pour obtenir le
valeur_type code>. Mon code est juste:
wreck_xml_element (std :: cout, {}, arborescence, -1, xml_writer_settings
Il semble que Write_XML_Element ne peut pas fonctionner sans XML_Writer_Settings. Et xml_writer_settings a deux versions incompatibles différentes; Un avec et un autre avec.
dans Boost V1.58 Cette ligne est valide: p> tandis que dans BOOST 1.54 Celles-ci sont valides: P> boost::property_tree::xml_writer_settings<char> settings;
boost::property_tree::xml_parser::write_xml_element(xmlStream,ptree::key_type(),pt_,-1, settings);
Vous pouvez simplement couper la première chaîne contenant XML ...> après WRIT_XML ()