diff options
Diffstat (limited to 'docs/samples')
-rw-r--r-- | docs/samples/save_custom_writer.cpp | 2 | ||||
-rw-r--r-- | docs/samples/save_file.cpp | 15 | ||||
-rw-r--r-- | docs/samples/save_options.cpp | 46 | ||||
-rw-r--r-- | docs/samples/save_stream.cpp | 16 | ||||
-rw-r--r-- | docs/samples/save_subtree.cpp | 24 |
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;
+ //]
+}
|