libxml++
3.2.3
|
A TextReader-style XML parser. More...
#include <libxml++/parsers/textreader.h>
Public Types | |
enum class | NodeType { InternalError = -1 , None = 0 , Element = 1 , Attribute = 2 , Text = 3 , CDATA = 4 , EntityReference = 5 , Entity = 6 , ProcessingInstruction = 7 , Comment = 8 , Document = 9 , DocumentType = 10 , DocumentFragment = 11 , Notation = 12 , Whitespace = 13 , SignificantWhitespace = 14 , EndElement = 15 , EndEntity = 16 , XmlDeclaration = 17 } |
Node type of the current node. More... | |
enum class | ParserProperties { LoadDtd = 1 , DefaultAttrs = 2 , Validate = 3 , SubstEntities = 4 } |
enum class | ReadState { InternalError = -1 , Initial = 0 , Interactive = 1 , Error = 2 , EndOfFile = 3 , Closed = 4 , Reading = 5 } |
using | size_type = unsigned int |
Public Member Functions | |
LIBXMLPP_API | TextReader (const Glib::ustring& URI) |
Creates a new TextReader object to parse a file or URI. More... | |
LIBXMLPP_API | TextReader (const unsigned char* data, size_type size, const Glib::ustring& uri=Glib::ustring()) |
Creates a new TextReader object which parses in memory data. More... | |
LIBXMLPP_API | TextReader (struct _xmlTextReader* cobj) |
Wraps a TextReader object from an underlying libxml object. More... | |
LIBXMLPP_API | ~TextReader () override |
LIBXMLPP_API void | close () |
LIBXMLPP_API Node* | expand () |
Expand the current node. More... | |
LIBXMLPP_API Glib::ustring | get_attribute (const Glib::ustring& local_name, const Glib::ustring& ns_uri) const |
LIBXMLPP_API Glib::ustring | get_attribute (const Glib::ustring& name) const |
LIBXMLPP_API Glib::ustring | get_attribute (int number) const |
LIBXMLPP_API int | get_attribute_count () const |
Gets the number of attributes on the current node. More... | |
LIBXMLPP_API Glib::ustring | get_base_uri () const |
Gets the base Uniform Resource Identifier (URI) of the current node. More... | |
LIBXMLPP_API Node* | get_current_node () |
Get a pointer to the current node. More... | |
LIBXMLPP_API const Node* | get_current_node () const |
Get a pointer to the current node. More... | |
LIBXMLPP_API int | get_depth () const |
Gets the depth of the current node in the XML document. More... | |
LIBXMLPP_API Glib::ustring | get_local_name () const |
LIBXMLPP_API Glib::ustring | get_name () const |
LIBXMLPP_API Glib::ustring | get_namespace_uri () const |
LIBXMLPP_API NodeType | get_node_type () const |
Get the node type of the current node. More... | |
LIBXMLPP_API bool | get_normalization () const |
LIBXMLPP_API bool | get_parser_property (ParserProperties property) const |
LIBXMLPP_API Glib::ustring | get_prefix () const |
Get the namespace prefix associated with the current node. More... | |
LIBXMLPP_API char | get_quote_char () const |
Get the quotation mark character used to enclose the value of an attribute. More... | |
LIBXMLPP_API ReadState | get_read_state () const |
LIBXMLPP_API Glib::ustring | get_value () const |
LIBXMLPP_API Glib::ustring | get_xml_lang () const |
LIBXMLPP_API bool | has_attributes () const |
Gets a value indicating whether the current node has any attributes. More... | |
LIBXMLPP_API bool | has_value () const |
Whether the node can have a text value. More... | |
LIBXMLPP_API bool | is_default () const |
Whether an Attribute node was generated from the default value defined in the DTD or schema. More... | |
LIBXMLPP_API bool | is_empty_element () const |
Check if the current node is empty. More... | |
LIBXMLPP_API bool | is_valid () const |
LIBXMLPP_API Glib::ustring | lookup_namespace (const Glib::ustring& prefix) const |
LIBXMLPP_API bool | move_to_attribute (const Glib::ustring& local_name, const Glib::ustring& ns_uri) |
LIBXMLPP_API bool | move_to_attribute (const Glib::ustring& name) |
LIBXMLPP_API bool | move_to_attribute (int number) |
LIBXMLPP_API bool | move_to_element () |
LIBXMLPP_API bool | move_to_first_attribute () |
LIBXMLPP_API bool | move_to_next_attribute () |
LIBXMLPP_API bool | next () |
LIBXMLPP_API bool | read () |
Moves the position of the current instance to the next node in the stream, exposing its properties. More... | |
LIBXMLPP_API bool | read_attribute_value () |
Parses an attribute value into one or more Text and EntityReference nodes. More... | |
LIBXMLPP_API Glib::ustring | read_inner_xml () |
Reads the contents of the current node, including child nodes and markup. More... | |
LIBXMLPP_API Glib::ustring | read_outer_xml () |
Reads the current node and its contents, including child nodes and markup. More... | |
LIBXMLPP_API Glib::ustring | read_string () |
Reads the contents of an element or a text node as a string. More... | |
LIBXMLPP_API void | set_normalization (bool value) |
LIBXMLPP_API void | set_parser_property (ParserProperties property, bool value) |
Additional Inherited Members | |
![]() | |
NonCopyable () noexcept | |
NonCopyable (const NonCopyable&)=delete | |
NonCopyable (NonCopyable&&)=delete | |
virtual | ~NonCopyable () |
NonCopyable& | operator= (const NonCopyable&)=delete |
NonCopyable& | operator= (NonCopyable&&)=delete |
A TextReader-style XML parser.
A reader that provides fast, non-cached, forward-only access to XML data, in the style of .Net's XmlTextReader class.
using xmlpp::TextReader::size_type = unsigned int |
|
strong |
Node type of the current node.
See DotGNU's XmlNodeType enum.
|
strong |
|
strong |
LIBXMLPP_API xmlpp::TextReader::TextReader | ( | struct _xmlTextReader * | cobj | ) |
Wraps a TextReader object from an underlying libxml object.
The TextReader takes ownership of cobj.
cobj | The underlying libxml xmlTextReader object. |
LIBXMLPP_API xmlpp::TextReader::TextReader | ( | const Glib::ustring & | URI | ) |
Creates a new TextReader object to parse a file or URI.
URI | The URI to read. |
xmlpp::internal_error | If an xmlTextReader object cannot be created. |
LIBXMLPP_API xmlpp::TextReader::TextReader | ( | const unsigned char * | data, |
size_type | size, | ||
const Glib::ustring & | uri = Glib::ustring() |
||
) |
Creates a new TextReader object which parses in memory data.
data | The data to parse. |
size | The number of bytes in data. |
uri | The base URI to use for the document. |
xmlpp::internal_error | If an xmlTextReader object cannot be created. |
|
override |
LIBXMLPP_API void xmlpp::TextReader::close | ( | ) |
LIBXMLPP_API Node* xmlpp::TextReader::expand | ( | ) |
Expand the current node.
Reads the contents of the current node and the full subtree. It then makes the subtree available until the next call to read() or next().
nullptr
in case of error. xmlpp::parse_error | |
xmlpp::validity_error |
LIBXMLPP_API Glib::ustring xmlpp::TextReader::get_attribute | ( | const Glib::ustring & | local_name, |
const Glib::ustring & | ns_uri | ||
) | const |
LIBXMLPP_API Glib::ustring xmlpp::TextReader::get_attribute | ( | const Glib::ustring & | name | ) | const |
LIBXMLPP_API Glib::ustring xmlpp::TextReader::get_attribute | ( | int | number | ) | const |
LIBXMLPP_API int xmlpp::TextReader::get_attribute_count | ( | ) | const |
Gets the number of attributes on the current node.
xmlpp::parse_error | |
xmlpp::validity_error |
LIBXMLPP_API Glib::ustring xmlpp::TextReader::get_base_uri | ( | ) | const |
Gets the base Uniform Resource Identifier (URI) of the current node.
LIBXMLPP_API Node* xmlpp::TextReader::get_current_node | ( | ) |
Get a pointer to the current node.
nullptr
in case of error. LIBXMLPP_API const Node* xmlpp::TextReader::get_current_node | ( | ) | const |
Get a pointer to the current node.
nullptr
in case of error. LIBXMLPP_API int xmlpp::TextReader::get_depth | ( | ) | const |
Gets the depth of the current node in the XML document.
LIBXMLPP_API Glib::ustring xmlpp::TextReader::get_local_name | ( | ) | const |
LIBXMLPP_API Glib::ustring xmlpp::TextReader::get_name | ( | ) | const |
LIBXMLPP_API Glib::ustring xmlpp::TextReader::get_namespace_uri | ( | ) | const |
LIBXMLPP_API NodeType xmlpp::TextReader::get_node_type | ( | ) | const |
Get the node type of the current node.
xmlpp::parse_error | |
xmlpp::validity_error |
LIBXMLPP_API bool xmlpp::TextReader::get_normalization | ( | ) | const |
LIBXMLPP_API bool xmlpp::TextReader::get_parser_property | ( | ParserProperties | property | ) | const |
LIBXMLPP_API Glib::ustring xmlpp::TextReader::get_prefix | ( | ) | const |
Get the namespace prefix associated with the current node.
LIBXMLPP_API char xmlpp::TextReader::get_quote_char | ( | ) | const |
Get the quotation mark character used to enclose the value of an attribute.
LIBXMLPP_API ReadState xmlpp::TextReader::get_read_state | ( | ) | const |
LIBXMLPP_API Glib::ustring xmlpp::TextReader::get_value | ( | ) | const |
LIBXMLPP_API Glib::ustring xmlpp::TextReader::get_xml_lang | ( | ) | const |
LIBXMLPP_API bool xmlpp::TextReader::has_attributes | ( | ) | const |
Gets a value indicating whether the current node has any attributes.
LIBXMLPP_API bool xmlpp::TextReader::has_value | ( | ) | const |
Whether the node can have a text value.
LIBXMLPP_API bool xmlpp::TextReader::is_default | ( | ) | const |
Whether an Attribute node was generated from the default value defined in the DTD or schema.
LIBXMLPP_API bool xmlpp::TextReader::is_empty_element | ( | ) | const |
Check if the current node is empty.
LIBXMLPP_API bool xmlpp::TextReader::is_valid | ( | ) | const |
LIBXMLPP_API Glib::ustring xmlpp::TextReader::lookup_namespace | ( | const Glib::ustring & | prefix | ) | const |
LIBXMLPP_API bool xmlpp::TextReader::move_to_attribute | ( | const Glib::ustring & | local_name, |
const Glib::ustring & | ns_uri | ||
) |
LIBXMLPP_API bool xmlpp::TextReader::move_to_attribute | ( | const Glib::ustring & | name | ) |
LIBXMLPP_API bool xmlpp::TextReader::move_to_attribute | ( | int | number | ) |
LIBXMLPP_API bool xmlpp::TextReader::move_to_element | ( | ) |
LIBXMLPP_API bool xmlpp::TextReader::move_to_first_attribute | ( | ) |
LIBXMLPP_API bool xmlpp::TextReader::move_to_next_attribute | ( | ) |
LIBXMLPP_API bool xmlpp::TextReader::next | ( | ) |
LIBXMLPP_API bool xmlpp::TextReader::read | ( | ) |
Moves the position of the current instance to the next node in the stream, exposing its properties.
xmlpp::parse_error | |
xmlpp::validity_error |
LIBXMLPP_API bool xmlpp::TextReader::read_attribute_value | ( | ) |
Parses an attribute value into one or more Text and EntityReference nodes.
xmlpp::parse_error | |
xmlpp::validity_error |
LIBXMLPP_API Glib::ustring xmlpp::TextReader::read_inner_xml | ( | ) |
Reads the contents of the current node, including child nodes and markup.
xmlpp::parse_error | |
xmlpp::validity_error |
LIBXMLPP_API Glib::ustring xmlpp::TextReader::read_outer_xml | ( | ) |
Reads the current node and its contents, including child nodes and markup.
xmlpp::parse_error | |
xmlpp::validity_error |
LIBXMLPP_API Glib::ustring xmlpp::TextReader::read_string | ( | ) |
Reads the contents of an element or a text node as a string.
xmlpp::parse_error | |
xmlpp::validity_error |
LIBXMLPP_API void xmlpp::TextReader::set_normalization | ( | bool | value | ) |
LIBXMLPP_API void xmlpp::TextReader::set_parser_property | ( | ParserProperties | property, |
bool | value | ||
) |