C++ Based OPC UA Client/Server SDK  1.5.3.346

XML parser class for an XML document. More...

#include <xmldocument.h>

Public Member Functions

 UaXmlDocument ()
 Constructs an XML document object with default settings. More...
 
 UaXmlDocument (const char *strFilePath)
 Constructs an XML document object and loads the passed XML document file. More...
 
 ~UaXmlDocument ()
 Destroys the XML document object. More...
 
int loadXmlFile (const char *strFilePath)
 Loads the XML document from the passed file name. More...
 
int loadXmlText (const char *strText, int size, const char *url)
 Loads the XML document from the passed string. More...
 
int create (const char *pchRootNode, const char *pchSimpleContent)
 Frees the XmlDocument. More...
 
int freeXmlDocument ()
 Unloads the XML document and frees the resources. More...
 
int saveXmlFile (const char *strFilePath)
 Saves the XML document to the passed file name. More...
 
int dumpXmlFile (char **pszContent, int &rSize)
 Dumps the whole XML file to pszContent. More...
 
int dumpCurrentNode (char **pszContent, int &rSize)
 Dumps the current working node file to pszContent. More...
 
int getRootNode ()
 Sets current XML element working node to root node. More...
 
int getFirstChild ()
 Sets current XML element working node to the first child of the previous working node. More...
 
int getChild (const char *pchName)
 Sets current XML element working node to the child with the given name below the previous working node. More...
 
int getNextSibling ()
 Sets current XML element working node to the next sibling of the previous working node. More...
 
int getParentNode ()
 Sets current XML element working node to the parent of the previous working node. More...
 
const char * getNodeName ()
 Gets the name of the current XML element working node. More...
 
void getCurrentElement (UaXmlElement &uaXmlElement)
 Gets the current XML element working node as UaXmlElement. More...
 
void deleteCurrentElement ()
 Deletes the current XML element working node and set the working node to the parent of the deleted node. More...
 
int getChildElements (const char *pchName, UaXmlElementList &uaXmlElementList)
 Returns a list of child XML elements with the given name. More...
 
void getContent (UaXmlValue &value)
 Gets the content of the current XML element working node as UaXmlValue. More...
 
void getAttributeValue (const char *pchAttributeName, UaXmlValue &value)
 Gets the content of the passed attribute name for the current XML element working node. More...
 
int setContent (const char *pchSimpleContent)
 Sets the content of the current XML element working node as string. More...
 
int addChild (const char *pchName, const char *pchSimpleContent)
 Adds a new child to the current XML element working node. More...
 
int addAttribute (const char *pchName, const char *pchValue)
 Adds a new attribute to the current XML element working node. More...
 
int setAttribute (const char *pchName, const char *pchValue)
 Sets the value of an attribute of the current XML element working node. More...
 
const char * getNamespace () const
 Returns the Namespace of the current working node. More...
 

Static Public Member Functions

static void initParser ()
 Initializes the XML parser. More...
 
static void cleanupParser ()
 Cleans up the XML parser. More...
 

Detailed Description

XML parser class for an XML document.

This class can be used to read or to create an XML file. The file is parsed and the content is temporarily stored in a Document Object Model (DOM). The class provides methods to navigate through the DOM and to read and write content to the DOM.

Note on usage:

  • Call UaXmlDocument::initParser() once before calling any other method of this class.
  • Call UaXmlDocument::cleanupParser() once to clean up resources when the UaXmlDocument class is no longer used.
  • Call initParser only once on start-up (or only from the main thread) and cleanupParser once on exit. Calling initParser multiple times from different threads will cause a memory leak.

See Tutorial Server Hello World and Getting Started Lesson 1 for example code.

Constructor & Destructor Documentation

UaXmlDocument::UaXmlDocument ( )

Constructs an XML document object with default settings.

UaXmlDocument::UaXmlDocument ( const char *  strFilePath)

Constructs an XML document object and loads the passed XML document file.

Parameters
[in]strFilePathFile name and path for the XML document file to load.
UaXmlDocument::~UaXmlDocument ( )

Destroys the XML document object.

Member Function Documentation

int UaXmlDocument::addAttribute ( const char *  pchName,
const char *  pchValue 
)

Adds a new attribute to the current XML element working node.

Returns
0 for success, -1 if method fails.
Parameters
[in]pchNameName of the new XML attribute
[in]pchValueContent of the XML attribute
int UaXmlDocument::addChild ( const char *  pchName,
const char *  pchSimpleContent 
)

Adds a new child to the current XML element working node.

Adds a child with the given name to the current XML element working node. If successful, the working node is set to the new node and 0 is returned. If pchSimpleContent is not NULL, the data will be added as content of the new node.

Returns
0 for success, -1 if method fails.
Parameters
[in]pchNameName of the new child XML element node.
[in]pchSimpleContentContent of the XML element.
void UaXmlDocument::cleanupParser ( )
static

Cleans up the XML parser.

None of the xml functions can be used after the XML parser is released.

int UaXmlDocument::create ( const char *  pchRootNode,
const char *  pchSimpleContent 
)

Frees the XmlDocument.

Creates a new XmlDocument and sets the root node with the given name. If successful, the working node is set to the root node and 0 is returned. If pchSimpleContent is not NULL, the data will be added as content of the root node.

Parameters
pchRootNodeName of the root node, must not be NULL.
pchSimpleContentThe content of the root node, can be NULL.
Returns
0 for success, -1 if method fails.
void UaXmlDocument::deleteCurrentElement ( )

Deletes the current XML element working node and set the working node to the parent of the deleted node.

Returns
0 for success, -1 if method fails.
int UaXmlDocument::dumpCurrentNode ( char **  pszContent,
int &  rSize 
)

Dumps the current working node file to pszContent.

int UaXmlDocument::dumpXmlFile ( char **  pszContent,
int &  rSize 
)

Dumps the whole XML file to pszContent.

int UaXmlDocument::freeXmlDocument ( )

Unloads the XML document and frees the resources.

Returns
0 for success.
void UaXmlDocument::getAttributeValue ( const char *  pchAttributeName,
UaXmlValue value 
)

Gets the content of the passed attribute name for the current XML element working node.

Parameters
[in]pchAttributeNameThe XML attribute name.
[out]valueThe content of the XML attribute as UaXmlValue.
int UaXmlDocument::getChild ( const char *  pchName)

Sets current XML element working node to the child with the given name below the previous working node.

Returns
0 for success, -1 if method fails.
Parameters
[in]pchNameName of the child node.
int UaXmlDocument::getChildElements ( const char *  pchName,
UaXmlElementList uaXmlElementList 
)

Returns a list of child XML elements with the given name.

Returns
0 for success, -1 if method fails.
Parameters
[in]pchNameName of the child XML element nodes.
[out]uaXmlElementListThe list of child XML element with the passed name as UaXmlElementList.
void UaXmlDocument::getContent ( UaXmlValue value)

Gets the content of the current XML element working node as UaXmlValue.

Parameters
[out]valueThe content of the current XML element working node as UaXmlValue.
void UaXmlDocument::getCurrentElement ( UaXmlElement uaXmlElement)

Gets the current XML element working node as UaXmlElement.

Parameters
[out]uaXmlElementThe current working node as UaXmlElement
int UaXmlDocument::getFirstChild ( )

Sets current XML element working node to the first child of the previous working node.

Returns
0 for success, -1 if method fails.
const char * UaXmlDocument::getNamespace ( ) const

Returns the Namespace of the current working node.

int UaXmlDocument::getNextSibling ( )

Sets current XML element working node to the next sibling of the previous working node.

Returns
0 for success, -1 if method fails.
const char * UaXmlDocument::getNodeName ( )

Gets the name of the current XML element working node.

Returns
The name if successful, NULL if the method fails.
int UaXmlDocument::getParentNode ( )

Sets current XML element working node to the parent of the previous working node.

Returns
0 for success, -1 if method fails.
int UaXmlDocument::getRootNode ( )

Sets current XML element working node to root node.

Returns
0 for success.
void UaXmlDocument::initParser ( )
static

Initializes the XML parser.

None of the xml functions can be used before the XML parser is initialized.

int UaXmlDocument::loadXmlFile ( const char *  strFilePath)

Loads the XML document from the passed file name.

Returns
0 for successful loading, -1 if loading failed.
Parameters
[in]strFilePathFile name and path for the XML document file to load.
int UaXmlDocument::loadXmlText ( const char *  strText,
int  size,
const char *  url 
)

Loads the XML document from the passed string.

Returns
0 for successful loading, -1 if loading failed.
Parameters
[in]strTextString containing the XML document.
[in]sizeThe size of the array.
[in]urlThe base URL to use for the document.
int UaXmlDocument::saveXmlFile ( const char *  strFilePath)

Saves the XML document to the passed file name.

Returns
0 for unsuccessful save, -1 if saving failed.
Parameters
[in]strFilePathFile name and path for the XML document file to save to.
int UaXmlDocument::setAttribute ( const char *  pchName,
const char *  pchValue 
)

Sets the value of an attribute of the current XML element working node.

Returns
0 for success, -1 if method fails.
Parameters
[in]pchNameName of the XML attribute to change
[in]pchValueContent of the XML attribute
int UaXmlDocument::setContent ( const char *  pchSimpleContent)

Sets the content of the current XML element working node as string.

Parameters
[in]pchSimpleContentThe new content for the XML element as string.

The documentation for this class was generated from the following files: