xmlParser  2.44
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
XMLNode Struct Reference

Main Class representing a XML node. More...

#include <xmlParser.h>

Public Types

enum  XMLCharEncoding {
  char_encoding_error =0, char_encoding_UTF8 =1, char_encoding_legacy =2, char_encoding_ShiftJIS =3,
  char_encoding_GB2312 =4, char_encoding_Big5 =5, char_encoding_GBK =6
}
 Enumeration for XML character encoding. More...
 
typedef enum
XMLNode::XMLCharEncoding 
XMLCharEncoding
 Enumeration for XML character encoding. More...
 

Public Member Functions

XMLSTR createXMLString (int nFormat=1, int *pnSize=NULL) const
 Create an XML string starting from the current XMLNode. More...
 
XMLError writeToFile (XMLCSTR filename, const char *encoding=NULL, char nFormat=1) const
 Save the content of an xmlNode inside a file. More...
 
XMLCSTR getName () const
 name of the node More...
 
XMLCSTR getText (int i=0) const
 return ith text field More...
 
int nText () const
 nbr of text field More...
 
XMLNode getParentNode () const
 return the parent node More...
 
XMLNode getChildNode (int i=0) const
 return ith child node More...
 
XMLNode getChildNode (XMLCSTR name, int i) const
 return ith child node with specific name (return an empty node if failing). If i==-1, this returns the last XMLNode with the given name. More...
 
XMLNode getChildNode (XMLCSTR name, int *i=NULL) const
 return next child node with specific name (return an empty node if failing) More...
 
XMLNode getChildNodeWithAttribute (XMLCSTR tagName, XMLCSTR attributeName, XMLCSTR attributeValue=NULL, int *i=NULL) const
 return child node with specific name/attribute (return an empty node if failing) More...
 
XMLNode getChildNodeByPath (XMLCSTR path, char createNodeIfMissing=0, XMLCHAR sep='/')
 return the first child node with specific path More...
 
XMLNode getChildNodeByPathNonConst (XMLSTR path, char createNodeIfMissing=0, XMLCHAR sep='/')
 return the first child node with specific path. More...
 
int nChildNode (XMLCSTR name) const
 return the number of child node with specific name More...
 
int nChildNode () const
 nbr of child node More...
 
XMLAttribute getAttribute (int i=0) const
 return ith attribute More...
 
XMLCSTR getAttributeName (int i=0) const
 return ith attribute name More...
 
XMLCSTR getAttributeValue (int i=0) const
 return ith attribute value More...
 
char isAttributeSet (XMLCSTR name) const
 test if an attribute with a specific name is given More...
 
XMLCSTR getAttribute (XMLCSTR name, int i) const
 return ith attribute content with specific name (return a NULL if failing) More...
 
XMLCSTR getAttribute (XMLCSTR name, int *i=NULL) const
 return next attribute content with specific name (return a NULL if failing) More...
 
int nAttribute () const
 nbr of attribute More...
 
XMLClear getClear (int i=0) const
 return ith clear field (comments) More...
 
int nClear () const
 nbr of clear field More...
 
XMLNodeContents enumContents (XMLElementPosition i) const
 enumerate all the different contents (attribute,child,text, clear) of the current XMLNode. The order is reflecting the order of the original file/string. NOTE: 0 <= i < nElement(); More...
 
int nElement () const
 nbr of different contents for current node More...
 
char isEmpty () const
 is this node Empty? More...
 
char isDeclaration () const
 is this node a declaration <? .... ?> More...
 
XMLNode deepCopy () const
 deep copy (duplicate/clone) a XMLNode More...
 
 ~XMLNode ()
 
 XMLNode (const XMLNode &A)
 to allow shallow/fast copy: More...
 
XMLNodeoperator= (const XMLNode &A)
 to allow shallow/fast copy: More...
 
 XMLNode ()
 
XMLNode addChild (XMLCSTR lpszName, char isDeclaration=FALSE, XMLElementPosition pos=-1)
 Add a new child node. More...
 
XMLNode addChild (XMLNode nodeToAdd, XMLElementPosition pos=-1)
 If the "nodeToAdd" has some parents, it will be detached from it's parents before being attached to the current XMLNode. More...
 
XMLAttributeaddAttribute (XMLCSTR lpszName, XMLCSTR lpszValuev)
 Add a new attribute. More...
 
XMLCSTR addText (XMLCSTR lpszValue, XMLElementPosition pos=-1)
 Add a new text content. More...
 
XMLClearaddClear (XMLCSTR lpszValue, XMLCSTR lpszOpen=NULL, XMLCSTR lpszClose=NULL, XMLElementPosition pos=-1)
 
XMLCSTR updateName (XMLCSTR lpszName)
 change node's name More...
 
XMLAttributeupdateAttribute (XMLAttribute *newAttribute, XMLAttribute *oldAttribute)
 if the attribute to update is missing, a new one will be added More...
 
XMLAttributeupdateAttribute (XMLCSTR lpszNewValue, XMLCSTR lpszNewName=NULL, int i=0)
 if the attribute to update is missing, a new one will be added More...
 
XMLAttributeupdateAttribute (XMLCSTR lpszNewValue, XMLCSTR lpszNewName, XMLCSTR lpszOldName)
 set lpszNewName=NULL if you don't want to change the name of the attribute if the attribute to update is missing, a new one will be added More...
 
XMLCSTR updateText (XMLCSTR lpszNewValue, int i=0)
 if the text to update is missing, a new one will be added More...
 
XMLCSTR updateText (XMLCSTR lpszNewValue, XMLCSTR lpszOldValue)
 if the text to update is missing, a new one will be added More...
 
XMLClearupdateClear (XMLCSTR lpszNewContent, int i=0)
 if the clearTag to update is missing, a new one will be added More...
 
XMLClearupdateClear (XMLClear *newP, XMLClear *oldP)
 if the clearTag to update is missing, a new one will be added More...
 
XMLClearupdateClear (XMLCSTR lpszNewValue, XMLCSTR lpszOldValue)
 if the clearTag to update is missing, a new one will be added More...
 
void deleteNodeContent ()
 The "deleteNodeContent" function forces the deletion of the content of this XMLNode and the subtree. More...
 
void deleteAttribute (int i=0)
 Delete the ith attribute of the current XMLNode. More...
 
void deleteAttribute (XMLCSTR lpszName)
 Delete the attribute with the given name (the "strcmp" function is used to find the right attribute) More...
 
void deleteAttribute (XMLAttribute *anAttribute)
 Delete the attribute with the name "anAttribute->lpszName" (the "strcmp" function is used to find the right attribute) More...
 
void deleteText (int i=0)
 Delete the Ith text content of the current XMLNode. More...
 
void deleteText (XMLCSTR lpszValue)
 Delete the text content "lpszValue" inside the current XMLNode (direct "pointer-to-pointer" comparison is used to find the right text) More...
 
void deleteClear (int i=0)
 Delete the Ith clear tag inside the current XMLNode. More...
 
void deleteClear (XMLCSTR lpszValue)
 Delete the clear tag "lpszValue" inside the current XMLNode (direct "pointer-to-pointer" comparison is used to find the clear tag) More...
 
void deleteClear (XMLClear *p)
 Delete the clear tag "p" inside the current XMLNode (direct "pointer-to-pointer" comparison on the lpszName of the clear tag is used to find the clear tag) More...
 
XMLNode addChild_WOSD (XMLSTR lpszName, char isDeclaration=FALSE, XMLElementPosition pos=-1)
 Add a new child node. More...
 
XMLAttributeaddAttribute_WOSD (XMLSTR lpszName, XMLSTR lpszValue)
 Add a new attribute. More...
 
XMLCSTR addText_WOSD (XMLSTR lpszValue, XMLElementPosition pos=-1)
 Add a new text content. More...
 
XMLClearaddClear_WOSD (XMLSTR lpszValue, XMLCSTR lpszOpen=NULL, XMLCSTR lpszClose=NULL, XMLElementPosition pos=-1)
 Add a new clear Tag. More...
 
XMLCSTR updateName_WOSD (XMLSTR lpszName)
 change node's name More...
 
XMLAttributeupdateAttribute_WOSD (XMLAttribute *newAttribute, XMLAttribute *oldAttribute)
 if the attribute to update is missing, a new one will be added More...
 
XMLAttributeupdateAttribute_WOSD (XMLSTR lpszNewValue, XMLSTR lpszNewName=NULL, int i=0)
 if the attribute to update is missing, a new one will be added More...
 
XMLAttributeupdateAttribute_WOSD (XMLSTR lpszNewValue, XMLSTR lpszNewName, XMLCSTR lpszOldName)
 set lpszNewName=NULL if you don't want to change the name of the attribute if the attribute to update is missing, a new one will be added More...
 
XMLCSTR updateText_WOSD (XMLSTR lpszNewValue, int i=0)
 if the text to update is missing, a new one will be added More...
 
XMLCSTR updateText_WOSD (XMLSTR lpszNewValue, XMLCSTR lpszOldValue)
 if the text to update is missing, a new one will be added More...
 
XMLClearupdateClear_WOSD (XMLSTR lpszNewContent, int i=0)
 if the clearTag to update is missing, a new one will be added More...
 
XMLClearupdateClear_WOSD (XMLClear *newP, XMLClear *oldP)
 if the clearTag to update is missing, a new one will be added More...
 
XMLClearupdateClear_WOSD (XMLSTR lpszNewValue, XMLCSTR lpszOldValue)
 if the clearTag to update is missing, a new one will be added More...
 
XMLElementPosition positionOfText (int i=0) const
 
XMLElementPosition positionOfText (XMLCSTR lpszValue) const
 
XMLElementPosition positionOfClear (int i=0) const
 
XMLElementPosition positionOfClear (XMLCSTR lpszValue) const
 
XMLElementPosition positionOfClear (XMLClear *a) const
 
XMLElementPosition positionOfChildNode (int i=0) const
 
XMLElementPosition positionOfChildNode (XMLNode x) const
 
XMLElementPosition positionOfChildNode (XMLCSTR name, int i=0) const
 return the position of the ith childNode with the specified name if (name==NULL) return the position of the ith childNode More...
 

Static Public Member Functions

static XMLCSTR getVersion ()
 Return the XMLParser library version number. More...
 
static XMLNode parseString (XMLCSTR lpXMLString, XMLCSTR tag=NULL, XMLResults *pResults=NULL)
 Parse an XML string and return the root of a XMLNode tree representing the string. More...
 
static XMLNode parseFile (XMLCSTR filename, XMLCSTR tag=NULL, XMLResults *pResults=NULL)
 Parse an XML file and return the root of a XMLNode tree representing the file. More...
 
static XMLNode openFileHelper (XMLCSTR filename, XMLCSTR tag=NULL)
 Parse an XML file and return the root of a XMLNode tree representing the file. A very crude error checking is made. An attempt to guess the Char Encoding used in the file is made. More...
 
static XMLCSTR getError (XMLError error)
 this gives you a user-friendly explanation of the parsing error More...
 
static XMLNode emptyNode ()
 return XMLNode::emptyXMLNode; More...
 
static XMLNode createXMLTopNode (XMLCSTR lpszName, char isDeclaration=FALSE)
 Create the top node of an XMLNode structure. More...
 
static XMLNode createXMLTopNode_WOSD (XMLSTR lpszName, char isDeclaration=FALSE)
 Create the top node of an XMLNode structure. More...
 
static char setGlobalOptions (XMLCharEncoding characterEncoding=XMLNode::char_encoding_UTF8, char guessWideCharChars=1, char dropWhiteSpace=1, char removeCommentsInMiddleOfText=1)
 Sets the global options for the conversions. More...
 
static XMLCharEncoding guessCharEncoding (void *buffer, int bufLen, char useXMLEncodingAttribute=1)
 Guess the character encoding of the string (ascii, utf8 or shift-JIS) More...
 

Static Public Attributes

static XMLNode emptyXMLNode
 
static XMLClear emptyXMLClear
 
static XMLAttribute emptyXMLAttribute
 

Detailed Description

Main Class representing a XML node.

All operations are performed using this class.

Note
The constructors of the XMLNode class are protected, so use instead one of these four methods to get your first instance of XMLNode:

Definition at line 227 of file xmlParser.h.

Member Typedef Documentation

typedef enum XMLNode::XMLCharEncoding XMLNode::XMLCharEncoding

Enumeration for XML character encoding.

Member Enumeration Documentation

enum XMLNode::XMLCharEncoding

Enumeration for XML character encoding.

Enumerator
char_encoding_error 
char_encoding_UTF8 
char_encoding_legacy 
char_encoding_ShiftJIS 
char_encoding_GB2312 
char_encoding_Big5 
char_encoding_GBK 

Definition at line 479 of file xmlParser.h.

Constructor & Destructor Documentation

XMLNode::~XMLNode ( )
XMLNode::XMLNode ( const XMLNode A)

to allow shallow/fast copy:

XMLNode::XMLNode ( )
inline

Definition at line 352 of file xmlParser.h.

Member Function Documentation

static XMLCSTR XMLNode::getVersion ( )
static

Return the XMLParser library version number.

XMLNode& XMLNode::operator= ( const XMLNode A)

to allow shallow/fast copy:

Member Data Documentation

XMLAttribute XMLNode::emptyXMLAttribute
static

Definition at line 355 of file xmlParser.h.

XMLClear XMLNode::emptyXMLClear
static

Definition at line 354 of file xmlParser.h.

XMLNode XMLNode::emptyXMLNode
static

Definition at line 352 of file xmlParser.h.


The documentation for this struct was generated from the following file: