summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--xml.cpp9
-rw-r--r--xml.h10
2 files changed, 19 insertions, 0 deletions
diff --git a/xml.cpp b/xml.cpp
new file mode 100644
index 0000000..d4e7162
--- /dev/null
+++ b/xml.cpp
@@ -0,0 +1,9 @@
+#include "xml.h"
+
+#include <boost/property_tree/xml_parser.hpp>
+
+std::string Reichwein::XML::plain_xml(const boost::property_tree::ptree& ptree) {
+ std::ostringstream oss;
+ boost::property_tree::xml_parser::write_xml_element(oss, {}, ptree, -1, boost::property_tree::xml_writer_settings<boost::property_tree::ptree::key_type>{});
+ return oss.str();
+}
diff --git a/xml.h b/xml.h
new file mode 100644
index 0000000..44471dd
--- /dev/null
+++ b/xml.h
@@ -0,0 +1,10 @@
+#pragma once
+
+#include <string>
+#include <boost/property_tree/ptree.hpp>
+
+#define EXPORT __attribute__((visibility("default")))
+
+namespace Reichwein::XML {
+ EXPORT std::string plain_xml(const boost::property_tree::ptree& ptree);
+}