summaryrefslogtreecommitdiff
path: root/docs/samples/save_options.cpp
blob: 5b4ccdb58d6827a15396a0c992e4d97680b2746a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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;
	//]
}