summaryrefslogtreecommitdiff
path: root/docs/samples
diff options
context:
space:
mode:
Diffstat (limited to 'docs/samples')
-rw-r--r--docs/samples/save_custom_writer.cpp2
-rw-r--r--docs/samples/save_file.cpp15
-rw-r--r--docs/samples/save_options.cpp46
-rw-r--r--docs/samples/save_stream.cpp16
-rw-r--r--docs/samples/save_subtree.cpp24
5 files changed, 103 insertions, 0 deletions
diff --git a/docs/samples/save_custom_writer.cpp b/docs/samples/save_custom_writer.cpp
index 978c583..0c7669c 100644
--- a/docs/samples/save_custom_writer.cpp
+++ b/docs/samples/save_custom_writer.cpp
@@ -4,6 +4,7 @@
#include <stdio.h>
+//[code_save_custom_writer
struct xml_string_writer: pugi::xml_writer
{
std::string result;
@@ -13,6 +14,7 @@ struct xml_string_writer: pugi::xml_writer
result += std::string(static_cast<const char*>(data), size);
}
};
+//]
struct xml_memory_writer: pugi::xml_writer
{
diff --git a/docs/samples/save_file.cpp b/docs/samples/save_file.cpp
new file mode 100644
index 0000000..44bcfd1
--- /dev/null
+++ b/docs/samples/save_file.cpp
@@ -0,0 +1,15 @@
+#include "pugixml.hpp"
+
+#include <iostream>
+
+int main()
+{
+ // get a test document
+ pugi::xml_document doc;
+ doc.load("<foo bar='baz'>hey</foo>");
+
+ //[code_save_file
+ // save document to file
+ std::cout << "Saving result: " << doc.save_file("save_file_output.xml") << std::endl;
+ //]
+}
diff --git a/docs/samples/save_options.cpp b/docs/samples/save_options.cpp
new file mode 100644
index 0000000..5b4ccdb
--- /dev/null
+++ b/docs/samples/save_options.cpp
@@ -0,0 +1,46 @@
+#include "pugixml.hpp"
+
+#include <iostream>
+
+int main()
+{
+ //[code_save_options
+ // get a test document
+ pugi::xml_document doc;
+ doc.load("<foo bar='baz'><call>hey</call></foo>");
+
+ // default options; prints
+ // <?xml version="1.0"?>
+ // <foo bar="baz">
+ // <call>hey</call>
+ // </foo>
+ doc.save(std::cout);
+ std::cout << std::endl;
+
+ // default options with custom indentation string; prints
+ // <?xml version="1.0"?>
+ // <foo bar="baz">
+ // --<call>hey</call>
+ // </foo>
+ doc.save(std::cout, "--");
+ std::cout << std::endl;
+
+ // default options without indentation; prints
+ // <?xml version="1.0"?>
+ // <foo bar="baz">
+ // <call>hey</call>
+ // </foo>
+ doc.save(std::cout, "\t", pugi::format_default & ~pugi::format_indent); // can also pass "" instead of indentation string for the same effect
+ std::cout << std::endl;
+
+ // raw output; prints
+ // <?xml version="1.0"?><foo bar="baz"><call>hey</call></foo>
+ doc.save(std::cout, "\t", pugi::format_raw);
+ std::cout << std::endl << std::endl;
+
+ // raw output without declaration; prints
+ // <foo bar="baz"><call>hey</call></foo>
+ doc.save(std::cout, "\t", pugi::format_raw | pugi::format_no_declaration);
+ std::cout << std::endl;
+ //]
+}
diff --git a/docs/samples/save_stream.cpp b/docs/samples/save_stream.cpp
new file mode 100644
index 0000000..65be76b
--- /dev/null
+++ b/docs/samples/save_stream.cpp
@@ -0,0 +1,16 @@
+#include "pugixml.hpp"
+
+#include <iostream>
+
+int main()
+{
+ // get a test document
+ pugi::xml_document doc;
+ doc.load("<foo bar='baz'><call>hey</call></foo>");
+
+ //[code_save_stream
+ // save document to standard output
+ std::cout << "Document:\n";
+ doc.save(std::cout);
+ //]
+}
diff --git a/docs/samples/save_subtree.cpp b/docs/samples/save_subtree.cpp
new file mode 100644
index 0000000..fc48905
--- /dev/null
+++ b/docs/samples/save_subtree.cpp
@@ -0,0 +1,24 @@
+#include "pugixml.hpp"
+
+#include <iostream>
+
+int main()
+{
+ //[code_save_subtree
+ // get a test document
+ pugi::xml_document doc;
+ doc.load("<foo bar='baz'><call>hey</call></foo>");
+
+ // print document to standard output (prints <?xml version="1.0"?><foo bar="baz"><call>hey</call></foo>)
+ doc.save(std::cout, "", pugi::format_raw);
+ std::cout << std::endl;
+
+ // print document to standard output as a regular node (prints <foo bar="baz"><call>hey</call></foo>)
+ doc.print(std::cout, "", pugi::format_raw);
+ std::cout << std::endl;
+
+ // print a subtree to standard output (prints <call>hey</call>)
+ doc.child("foo").child("call").print(std::cout, "", pugi::format_raw);
+ std::cout << std::endl;
+ //]
+}