<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Class Poco::Util::XMLConfiguration</title> <meta http-equiv="content-type" content="text/html; charset=utf-8"/> <meta name="author" content="Applied Informatics Software Engineering GmbH and Contributors"/> <meta name="publisher" content="Applied Informatics Software Engineering GmbH and Contributors"/> <meta name="copyright" content="Copyright (c) 2009, Applied Informatics Software Engineering GmbH and Contributors"/> <meta name="language" content="en"/> <meta name="date" content="2009-11-24"/> <meta name="generator" content="PocoDoc"/> <link rel="stylesheet" href="css/styles.css" type="text/css"/> </head> <body bgcolor="#ffffff" leftmargin="0" topmargin="0"> <div class="header"> <h1 class="namespace"><a href="Poco.Util.html" class="namespace">Poco::Util</a></h1> <h1 class="symbol">class XMLConfiguration</h1> </div> <div class="body"> <p> <b>Library:</b> Util<br /> <b>Package:</b> Configuration<br /> <b>Header:</b> Poco/Util/XMLConfiguration.h</p> <h2>Description</h2> <div class="description"> <p>This configuration class extracts configuration properties from an <a href="Poco.XML.html" title="namespace Poco::XML">XML</a> document. An XPath-like syntax for property names is supported to allow full access to the <a href="Poco.XML.html" title="namespace Poco::XML">XML</a> document. <a href="Poco.XML.html" title="namespace Poco::XML">XML</a> namespaces are not supported. The name of the root element of an <a href="Poco.XML.html" title="namespace Poco::XML">XML</a> document is not significant. Periods in tag names are not supported. </p> <p>Given the following <a href="Poco.XML.html" title="namespace Poco::XML">XML</a> document as an example: </p> <p></p> <pre><config> <prop1>value1</prop1> <prop2>value2</prop2> <prop3> <prop4 attr="value3"/> <prop4 attr="value4"/> </prop3> <prop5>value5</prop5> <prop5>value6</prop5> </config> </pre> <p>The following property names would be valid and would yield the shown values: </p> <p></p> <pre>prop1 -> value1 prop2 -> value2 prop3.prop4 -> (empty string) prop3.prop4[@attr] -> value3 prop3.prop4[1][@attr] -> value4 prop5[0] -> value5 prop5[1] -> value6 </pre> <p>Enumerating attributes is not supported. Calling keys("prop3.prop4") will return an empty range. </p> </div> <h2>Inheritance</h2> <p><b>Direct Base Classes: </b><a href="Poco.Util.AbstractConfiguration.html" title="class Poco::Util::AbstractConfiguration">AbstractConfiguration</a></p> <p><b>All Base Classes: </b><a href="Poco.RefCountedObject.html" title="class Poco::RefCountedObject">Poco::RefCountedObject</a>, <a href="Poco.Util.AbstractConfiguration.html" title="class Poco::Util::AbstractConfiguration">AbstractConfiguration</a></p> <h2>Member Summary</h2> <p><b>Member Functions: </b><a href="Poco.Util.XMLConfiguration.html#17477" title="Poco::Util::XMLConfiguration::enumerate()">enumerate</a>, <a href="Poco.Util.XMLConfiguration.html#17471" title="Poco::Util::XMLConfiguration::getRaw()">getRaw</a>, <a href="Poco.Util.XMLConfiguration.html#17449" title="Poco::Util::XMLConfiguration::load()">load</a>, <a href="Poco.Util.XMLConfiguration.html#17459" title="Poco::Util::XMLConfiguration::loadEmpty()">loadEmpty</a>, <a href="Poco.Util.XMLConfiguration.html#17461" title="Poco::Util::XMLConfiguration::save()">save</a>, <a href="Poco.Util.XMLConfiguration.html#17474" title="Poco::Util::XMLConfiguration::setRaw()">setRaw</a></p> <p><b>Inherited Functions: </b><a href="Poco.Util.AbstractConfiguration.html#16368" title="Poco::Util::AbstractConfiguration::createView()">createView</a>, <a href="Poco.RefCountedObject.html#9659" title="Poco::RefCountedObject::duplicate()">duplicate</a>, <a href="Poco.Util.AbstractConfiguration.html#16380" title="Poco::Util::AbstractConfiguration::enumerate()">enumerate</a>, <a href="Poco.Util.AbstractConfiguration.html#16372" title="Poco::Util::AbstractConfiguration::expand()">expand</a>, <a href="Poco.Util.AbstractConfiguration.html#16346" title="Poco::Util::AbstractConfiguration::getBool()">getBool</a>, <a href="Poco.Util.AbstractConfiguration.html#16341" title="Poco::Util::AbstractConfiguration::getDouble()">getDouble</a>, <a href="Poco.Util.AbstractConfiguration.html#16338" title="Poco::Util::AbstractConfiguration::getInt()">getInt</a>, <a href="Poco.Util.AbstractConfiguration.html#16374" title="Poco::Util::AbstractConfiguration::getRaw()">getRaw</a>, <a href="Poco.Util.AbstractConfiguration.html#16331" title="Poco::Util::AbstractConfiguration::getRawString()">getRawString</a>, <a href="Poco.Util.AbstractConfiguration.html#16326" title="Poco::Util::AbstractConfiguration::getString()">getString</a>, <a href="Poco.Util.AbstractConfiguration.html#16324" title="Poco::Util::AbstractConfiguration::hasOption()">hasOption</a>, <a href="Poco.Util.AbstractConfiguration.html#16322" title="Poco::Util::AbstractConfiguration::hasProperty()">hasProperty</a>, <a href="Poco.Util.AbstractConfiguration.html#16363" title="Poco::Util::AbstractConfiguration::keys()">keys</a>, <a href="Poco.Util.AbstractConfiguration.html#16385" title="Poco::Util::AbstractConfiguration::parseBool()">parseBool</a>, <a href="Poco.Util.AbstractConfiguration.html#16383" title="Poco::Util::AbstractConfiguration::parseInt()">parseInt</a>, <a href="Poco.RefCountedObject.html#9661" title="Poco::RefCountedObject::referenceCount()">referenceCount</a>, <a href="Poco.RefCountedObject.html#9660" title="Poco::RefCountedObject::release()">release</a>, <a href="Poco.Util.AbstractConfiguration.html#16360" title="Poco::Util::AbstractConfiguration::setBool()">setBool</a>, <a href="Poco.Util.AbstractConfiguration.html#16357" title="Poco::Util::AbstractConfiguration::setDouble()">setDouble</a>, <a href="Poco.Util.AbstractConfiguration.html#16354" title="Poco::Util::AbstractConfiguration::setInt()">setInt</a>, <a href="Poco.Util.AbstractConfiguration.html#16377" title="Poco::Util::AbstractConfiguration::setRaw()">setRaw</a>, <a href="Poco.Util.AbstractConfiguration.html#16351" title="Poco::Util::AbstractConfiguration::setString()">setString</a></p> <h2>Constructors</h2> <h3><a name="17438">XMLConfiguration</a></h3> <p class="decl"><a href="Poco.Util.XMLConfiguration.html" title="class Poco::Util::XMLConfiguration">XMLConfiguration</a>();</p> <div class="description"> <p>Creates an empty <a href="Poco.Util.XMLConfiguration.html" title="class Poco::Util::XMLConfiguration">XMLConfiguration</a>. </p> </div> <h3><a name="17439">XMLConfiguration</a></h3> <p class="decl"><a href="Poco.Util.XMLConfiguration.html" title="class Poco::Util::XMLConfiguration">XMLConfiguration</a>(<br /> <a href="Poco.XML.InputSource.html" title="class Poco::XML::InputSource">Poco::XML::InputSource</a> * pInputSource<br />);</p> <div class="description"> <p>Creates an <a href="Poco.Util.XMLConfiguration.html" title="class Poco::Util::XMLConfiguration">XMLConfiguration</a> and loads the <a href="Poco.XML.html" title="namespace Poco::XML">XML</a> document from the given InputSource. </p> </div> <h3><a name="17441">XMLConfiguration</a></h3> <p class="decl"><a href="Poco.Util.XMLConfiguration.html" title="class Poco::Util::XMLConfiguration">XMLConfiguration</a>(<br /> std::istream & istr<br />);</p> <div class="description"> <p>Creates an <a href="Poco.Util.XMLConfiguration.html" title="class Poco::Util::XMLConfiguration">XMLConfiguration</a> and loads the <a href="Poco.XML.html" title="namespace Poco::XML">XML</a> document from the given stream. </p> </div> <h3><a name="17443">XMLConfiguration</a></h3> <p class="decl"><a href="Poco.Util.XMLConfiguration.html" title="class Poco::Util::XMLConfiguration">XMLConfiguration</a>(<br /> const std::string & path<br />);</p> <div class="description"> <p>Creates an <a href="Poco.Util.XMLConfiguration.html" title="class Poco::Util::XMLConfiguration">XMLConfiguration</a> and loads the <a href="Poco.XML.html" title="namespace Poco::XML">XML</a> document from the given path. </p> </div> <h3><a name="17445">XMLConfiguration</a></h3> <p class="decl"><a href="Poco.Util.XMLConfiguration.html" title="class Poco::Util::XMLConfiguration">XMLConfiguration</a>(<br /> const <a href="Poco.XML.Document.html" title="class Poco::XML::Document">Poco::XML::Document</a> * pDocument<br />);</p> <div class="description"> <p>Creates the <a href="Poco.Util.XMLConfiguration.html" title="class Poco::Util::XMLConfiguration">XMLConfiguration</a> using the given <a href="Poco.XML.html" title="namespace Poco::XML">XML</a> document. </p> </div> <h3><a name="17447">XMLConfiguration</a></h3> <p class="decl"><a href="Poco.Util.XMLConfiguration.html" title="class Poco::Util::XMLConfiguration">XMLConfiguration</a>(<br /> const <a href="Poco.XML.Node.html" title="class Poco::XML::Node">Poco::XML::Node</a> * pNode<br />);</p> <div class="description"> <p>Creates the <a href="Poco.Util.XMLConfiguration.html" title="class Poco::Util::XMLConfiguration">XMLConfiguration</a> using the given <a href="Poco.XML.html" title="namespace Poco::XML">XML</a> node. </p> </div> <h2>Destructor</h2> <h3><a name="17480">~XMLConfiguration</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" /> <img src="images/virtual.gif" alt="virtual" title="virtual" style="vertical-align:baseline;" border="0" /> </h3> <p class="decl">~<a href="Poco.Util.XMLConfiguration.html" title="class Poco::Util::XMLConfiguration">XMLConfiguration</a>();</p> <div class="description"> <p></p> </div> <h2>Member Functions</h2> <h3><a name="17449">load</a></h3> <p class="decl">void load(<br /> <a href="Poco.XML.InputSource.html" title="class Poco::XML::InputSource">Poco::XML::InputSource</a> * pInputSource<br />);</p> <div class="description"> <p>Loads the <a href="Poco.XML.html" title="namespace Poco::XML">XML</a> document containing the configuration data from the given InputSource. </p> </div> <h3><a name="17451">load</a></h3> <p class="decl">void load(<br /> std::istream & istr<br />);</p> <div class="description"> <p>Loads the <a href="Poco.XML.html" title="namespace Poco::XML">XML</a> document containing the configuration data from the given stream. </p> </div> <h3><a name="17453">load</a></h3> <p class="decl">void load(<br /> const std::string & path<br />);</p> <div class="description"> <p>Loads the <a href="Poco.XML.html" title="namespace Poco::XML">XML</a> document containing the configuration data from the given file. </p> </div> <h3><a name="17455">load</a></h3> <p class="decl">void load(<br /> const <a href="Poco.XML.Document.html" title="class Poco::XML::Document">Poco::XML::Document</a> * pDocument<br />);</p> <div class="description"> <p>Loads the <a href="Poco.XML.html" title="namespace Poco::XML">XML</a> document containing the configuration data from the given <a href="Poco.XML.html" title="namespace Poco::XML">XML</a> document. </p> </div> <h3><a name="17457">load</a></h3> <p class="decl">void load(<br /> const <a href="Poco.XML.Node.html" title="class Poco::XML::Node">Poco::XML::Node</a> * pNode<br />);</p> <div class="description"> <p>Loads the <a href="Poco.XML.html" title="namespace Poco::XML">XML</a> document containing the configuration data from the given <a href="Poco.XML.html" title="namespace Poco::XML">XML</a> node. </p> </div> <h3><a name="17459">loadEmpty</a></h3> <p class="decl">void loadEmpty(<br /> const std::string & rootElementName<br />);</p> <div class="description"> <p>Loads an empty <a href="Poco.XML.html" title="namespace Poco::XML">XML</a> document containing only the root element with the given name. </p> </div> <h3><a name="17461">save</a></h3> <p class="decl">void save(<br /> const std::string & path<br />) const;</p> <div class="description"> <p>Writes the <a href="Poco.XML.html" title="namespace Poco::XML">XML</a> document containing the configuration data to the file given by path. </p> </div> <h3><a name="17463">save</a></h3> <p class="decl">void save(<br /> std::ostream & str<br />) const;</p> <div class="description"> <p>Writes the <a href="Poco.XML.html" title="namespace Poco::XML">XML</a> document containing the configuration data to the given stream. </p> </div> <h3><a name="17465">save</a></h3> <p class="decl">void save(<br /> <a href="Poco.XML.DOMWriter.html" title="class Poco::XML::DOMWriter">Poco::XML::DOMWriter</a> & writer,<br /> const std::string & path<br />) const;</p> <div class="description"> <p>Writes the <a href="Poco.XML.html" title="namespace Poco::XML">XML</a> document containing the configuration data to the file given by path, using the given DOMWriter. </p> <p>This can be used to use a DOMWriter with custom options. </p> </div> <h3><a name="17468">save</a></h3> <p class="decl">void save(<br /> <a href="Poco.XML.DOMWriter.html" title="class Poco::XML::DOMWriter">Poco::XML::DOMWriter</a> & writer,<br /> std::ostream & str<br />) const;</p> <div class="description"> <p>Writes the <a href="Poco.XML.html" title="namespace Poco::XML">XML</a> document containing the configuration data to the given stream. </p> <p>This can be used to use a DOMWriter with custom options. </p> </div> <h3><a name="17477">enumerate</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" /> <img src="images/virtual.gif" alt="virtual" title="virtual" style="vertical-align:baseline;" border="0" /> </h3> <p class="decl">void enumerate(<br /> const std::string & key,<br /> Keys & range<br />) const;</p> <div class="description"> <p></p> </div> <div class="description"><p><b>See also:</b> <a href="Poco.Util.AbstractConfiguration.html#16380" title="Poco::Util::AbstractConfiguration::enumerate()">Poco::Util::AbstractConfiguration::enumerate()</a></p></div> <h3><a name="17471">getRaw</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" /> <img src="images/virtual.gif" alt="virtual" title="virtual" style="vertical-align:baseline;" border="0" /> </h3> <p class="decl">bool getRaw(<br /> const std::string & key,<br /> std::string & value<br />) const;</p> <div class="description"> <p></p> </div> <div class="description"><p><b>See also:</b> <a href="Poco.Util.AbstractConfiguration.html#16374" title="Poco::Util::AbstractConfiguration::getRaw()">Poco::Util::AbstractConfiguration::getRaw()</a></p></div> <h3><a name="17474">setRaw</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" /> <img src="images/virtual.gif" alt="virtual" title="virtual" style="vertical-align:baseline;" border="0" /> </h3> <p class="decl">void setRaw(<br /> const std::string & key,<br /> const std::string & value<br />);</p> <div class="description"> <p></p> </div> <div class="description"><p><b>See also:</b> <a href="Poco.Util.AbstractConfiguration.html#16377" title="Poco::Util::AbstractConfiguration::setRaw()">Poco::Util::AbstractConfiguration::setRaw()</a></p></div> <p class="footer">POCO C++ Libraries 1.3.6-all<br /> Copyright © 2009, <a href="http://pocoproject.org/" target="_blank">Applied Informatics Software Engineering GmbH and Contributors</a></p> </div> </body> </html>