From fa16efd4389baf62d7ca9b3491cd1e39cc9d4952 Mon Sep 17 00:00:00 2001 From: "arseny.kapoulkine" Date: Tue, 6 Jul 2010 11:22:45 +0000 Subject: docs: Added basic traversal sample and some document reading documentation git-svn-id: http://pugixml.googlecode.com/svn/trunk@560 99668b35-9821-0410-8761-19e4c4f06640 --- docs/samples/traverse_base.cpp | 54 ++++++++++++++++++++++++++++++++++++++++++ docs/samples/xgconsole.xml | 12 ++++++++++ 2 files changed, 66 insertions(+) create mode 100644 docs/samples/traverse_base.cpp create mode 100644 docs/samples/xgconsole.xml (limited to 'docs/samples') diff --git a/docs/samples/traverse_base.cpp b/docs/samples/traverse_base.cpp new file mode 100644 index 0000000..6f82caa --- /dev/null +++ b/docs/samples/traverse_base.cpp @@ -0,0 +1,54 @@ +#include "pugixml.hpp" + +#include +#include + +int main() +{ + pugi::xml_document doc; + if (!doc.load_file("xgconsole.xml")) return -1; + + pugi::xml_node tools = doc.child("Profile").child("Tools"); + + //[code_traverse_base_basic + for (pugi::xml_node tool = tools.first_child(); tool; tool = tool.next_sibling()) + { + std::cout << "Tool:"; + + for (pugi::xml_attribute attr = tool.first_attribute(); attr; attr = attr.next_attribute()) + { + std::cout << " " << attr.name() << "=" << attr.value(); + } + + std::cout << std::endl; + } + //] + + std::cout << std::endl; + + //[code_traverse_base_data + for (pugi::xml_node tool = tools.child("Tool"); tool; tool = tool.next_sibling("Tool")) + { + std::cout << "Tool " << tool.attribute("Filename").value(); + std::cout << ": AllowRemote " << tool.attribute("AllowRemote").as_bool(); + std::cout << ", Timeout " << tool.attribute("Timeout").as_int(); + std::cout << ", Description '" << tool.child_value("Description") << "'\n"; + } + //] + + std::cout << std::endl; + + //[code_traverse_base_contents + for (pugi::xml_node tool = tools.child("Tool"); tool; tool = tool.next_sibling("Tool")) + { + std::cout << "Tool " << tool.attribute("Filename").value() << ":"; + + for (pugi::xml_attribute attr = tool.first_attribute(); attr; attr = attr.next_attribute()) + { + if (strcmp(attr.name(), "Filename") != 0) std::cout << " " << attr.name() << "=" << attr.value(); + } + + std::cout << std::endl; + } + //] +} diff --git a/docs/samples/xgconsole.xml b/docs/samples/xgconsole.xml new file mode 100644 index 0000000..cf603ad --- /dev/null +++ b/docs/samples/xgconsole.xml @@ -0,0 +1,12 @@ + + + + + Jamplus build system + + + + + + + -- cgit v1.2.3