Cantera
2.4.0
|
Class XML_Reader reads an XML file into an XML_Node object. More...
#include <xml.h>
Public Member Functions | |
XML_Reader (std::istream &input) | |
Sole Constructor for the XML_Reader class. More... | |
void | getchr (char &ch) |
Read a single character from the input stream and returns it. More... | |
int | findQuotedString (const std::string &aline, std::string &rstring) const |
Searches a string for the first occurrence of a valid quoted string. More... | |
void | parseTag (const std::string &tag, std::string &name, std::map< std::string, std::string > &attribs) const |
parseTag parses XML tags, i.e., the XML elements that are in between angle brackets. More... | |
std::string | readTag (std::map< std::string, std::string > &attribs) |
Reads an XML tag into a string. More... | |
std::string | readValue () |
Return the value portion of an XML element. More... | |
Public Attributes | |
int | m_line |
Line count. More... | |
Protected Attributes | |
std::istream & | m_s |
Input stream containing the XML file. More... | |
Class XML_Reader reads an XML file into an XML_Node object.
Class XML_Reader is designed for internal use.
XML_Reader | ( | std::istream & | input | ) |
Sole Constructor for the XML_Reader class.
input | Reference to the istream object containing the XML file |
void getchr | ( | char & | ch | ) |
Read a single character from the input stream and returns it.
All low level reads occur through this function. The function also keeps track of the line numbers.
ch | Character to be returned. |
Definition at line 121 of file xml.cpp.
References XML_Reader::m_line, and XML_Reader::m_s.
Referenced by XML_Reader::readTag(), and XML_Reader::readValue().
int findQuotedString | ( | const std::string & | aline, |
std::string & | rstring | ||
) | const |
Searches a string for the first occurrence of a valid quoted string.
Quotes can start with either a single quote or a double quote, but must also end with the same type. Quotes may be commented out by preceding with a backslash character, '\'.
aline | This is the input string to be searched |
rstring | Return value of the string that is found. The quotes are stripped from the string. |
Definition at line 157 of file xml.cpp.
References Cantera::findUnbackslashed(), and Cantera::npos.
Referenced by XML_Reader::parseTag().
void parseTag | ( | const std::string & | tag, |
std::string & | name, | ||
std::map< std::string, std::string > & | attribs | ||
) | const |
parseTag parses XML tags, i.e., the XML elements that are in between angle brackets.
tag | Tag to be parsed - input | |
name | Output string containing name of the XML | |
[out] | attribs | map of attribute name and attribute value |
Definition at line 192 of file xml.cpp.
References XML_Reader::findQuotedString(), Cantera::npos, and Cantera::trimCopy().
Referenced by XML_Reader::readTag().
std::string readTag | ( | std::map< std::string, std::string > & | attribs | ) |
Reads an XML tag into a string.
This function advances the input streams pointer
attribs | map of attribute name and attribute value - output |
Definition at line 231 of file xml.cpp.
References XML_Reader::getchr(), XML_Reader::m_s, and XML_Reader::parseTag().
Referenced by XML_Node::build().
std::string readValue | ( | ) |
Return the value portion of an XML element.
This function advances the input streams pointer
Definition at line 278 of file xml.cpp.
References XML_Reader::getchr(), XML_Reader::m_s, and Cantera::trimCopy().
Referenced by XML_Node::build().
|
protected |
Input stream containing the XML file.
Definition at line 85 of file xml.h.
Referenced by XML_Reader::getchr(), XML_Reader::readTag(), and XML_Reader::readValue().
int m_line |
Line count.
Definition at line 89 of file xml.h.
Referenced by XML_Node::build(), and XML_Reader::getchr().