Library: Util
Package: Configuration
Header: Poco/Util/XMLConfiguration.h
This configuration class extracts configuration properties from an XML document. An XPath-like syntax for property names is supported to allow full access to the XML document. XML namespaces are not supported. The name of the root element of an XML document is not significant. Periods in tag names are not supported.
Given the following XML document as an example:
<config> <prop1>value1</prop1> <prop2>value2</prop2> <prop3> <prop4 attr="value3"/> <prop4 attr="value4"/> </prop3> <prop5>value5</prop5> <prop5>value6</prop5> </config>
The following property names would be valid and would yield the shown values:
prop1 -> value1 prop2 -> value2 prop3.prop4 -> (empty string) prop3.prop4[@attr] -> value3 prop3.prop4[1][@attr] -> value4 prop5[0] -> value5 prop5[1] -> value6
Enumerating attributes is not supported. Calling keys("prop3.prop4") will return an empty range.
Setting properties is not supported. An attempt to set a property results in a NotImplementedException being thrown.
Direct Base Classes: AbstractConfiguration
All Base Classes: Poco::RefCountedObject, AbstractConfiguration
Member Functions: enumerate, getRaw, load, setRaw
Inherited Functions: createView, duplicate, enumerate, expand, getBool, getDouble, getInt, getRaw, getRawString, getString, hasOption, hasProperty, keys, parseBool, parseInt, referenceCount, release, setBool, setDouble, setInt, setRaw, setString
Creates an empty XMLConfiguration.
XMLConfiguration(
Poco::XML::InputSource * pInputSource
);
Creates an XMLConfiguration and loads the XML document from the given InputSource.
XMLConfiguration(
std::istream & istr
);
Creates an XMLConfiguration and loads the XML document from the given stream.
XMLConfiguration(
const std::string & path
);
Creates an XMLConfiguration and loads the XML document from the given path.
XMLConfiguration(
const Poco::XML::Document * pDocument
);
Creates the XMLConfiguration using the given XML document.
XMLConfiguration(
const Poco::XML::Node * pNode
);
Creates the XMLConfiguration using the given XML node.
~XMLConfiguration();
void load(
Poco::XML::InputSource * pInputSource
);
Loads the XML document containing the configuration data from the given InputSource.
void load(
std::istream & istr
);
Loads the XML document containing the configuration data from the given stream.
void load(
const std::string & path
);
Loads the XML document containing the configuration data from the given file.
void load(
const Poco::XML::Document * pDocument
);
void load(
const Poco::XML::Node * pNode
);
void enumerate(
const std::string & key,
Keys & range
) const;
bool getRaw(
const std::string & key,
std::string & value
) const;
void setRaw(
const std::string & key,
const std::string & value
);