libzypp
10.5.0
|
xmlTextReader based interface to iterate xml streams. More...
#include <Reader.h>
Public Types | |
typedef function< bool(Reader &)> | ProcessNode |
Public Member Functions | |
Reader (const InputStream &stream_r, const Validate &validate_r=Validate::none()) | |
Ctor. | |
~Reader () | |
Dtor. | |
XmlString | nodeText () |
If the curent node is not empty, advances the reader to the next node, and returns the value. | |
bool | nextNode () |
bool | nextNodeAttribute () |
bool | nextNodeOrAttribute () |
bool | atEnd () const |
const Node & | operator* () const |
const Node * | operator-> () const |
bool | foreachNode (ProcessNode fnc_r) |
bool | foreachNodeAttribute (ProcessNode fnc_r) |
bool | foreachNodeOrAttribute (ProcessNode fnc_r) |
bool | seekToNode (int depth_r, const std::string &name_r) |
bool | seekToEndNode (int depth_r, const std::string &name_r) |
Private Member Functions | |
void | close () |
Private Attributes | |
InputStream | _stream |
xmlTextReaderPtr | _reader |
Node | _node |
xmlTextReader based interface to iterate xml streams.
// Consume a node. bool consumeNode( XML::Reader & reader_r ) { DBG << *reader_r << endl; return true; } // Consume all nodes (omitting attributes) void example() { try { XML::Reader reader( "/Local/repodata/repomd.xml" ); reader.foreachNode( consumeNode ); } catch ( const Exception & ) { ; } // parse error }
// Consume a node. bool consumeNodeAndAttribute( XML::Reader & reader_r ) { consumeNode( reader_r ); return reader_r.foreachNodeAttribute( consumeNode ); } // Consume all nodes and thair attributes. void example() { Pathname repodata( "/Local/repodata/repomd.xml" ); try { XML::Reader reader( "/Local/repodata/repomd.xml" ); reader.foreachNode( consumeNodeAndAttribute ); // or: // reader.foreachNodeOrAttribute( consumeNode ) } catch ( const Exception & ) { ; } // parse error }
typedef function<bool( Reader & )> zypp::xml::Reader::ProcessNode |
zypp::xml::Reader::Reader | ( | const InputStream & | stream_r, |
const Validate & | validate_r = Validate::none() |
||
) |
XmlString zypp::xml::Reader::nodeText | ( | ) |
const Node& zypp::xml::Reader::operator* | ( | ) | const [inline] |
const Node* zypp::xml::Reader::operator-> | ( | ) | const [inline] |
bool zypp::xml::Reader::foreachNode | ( | ProcessNode | fnc_r | ) | [inline] |
bool zypp::xml::Reader::foreachNodeAttribute | ( | ProcessNode | fnc_r | ) | [inline] |
bool zypp::xml::Reader::foreachNodeOrAttribute | ( | ProcessNode | fnc_r | ) | [inline] |
bool zypp::xml::Reader::seekToNode | ( | int | depth_r, |
const std::string & | name_r | ||
) |
bool zypp::xml::Reader::seekToEndNode | ( | int | depth_r, |
const std::string & | name_r | ||
) |
InputStream zypp::xml::Reader::_stream [private] |
xmlTextReaderPtr zypp::xml::Reader::_reader [private] |
Node zypp::xml::Reader::_node [private] |