IGLib 1.4
The IGLib base library for development of numerical, technical and business applications.

IG::Lib::XmlParser Class Reference

Base class for classes taht contain an Xml document that can be parsed. Provides comfortable utilities for transversing the document and for querying the value, name, and attributes of the current node. More...

Inheritance diagram for IG::Lib::XmlParser:
Collaboration diagram for IG::Lib::XmlParser:

List of all members.

Classes

class  Mark
 Position mark in the XML document. More...

Public Member Functions

string Attribute (string key)
 Returns the value of the specified attribute of the current node. If the attribute does not exist then null is returned.
XmlNode GetNode (string path)
 Returns the first node that satisfies a given XPath expression relative to the root node. It does not report any errors (just returns null in case of errors)
XmlNode GetRelative (string path)
 Returns the first node that satisfies a given XPath expression relative to the current node. It does not report any errors.
XmlNode GetNextNode (XmlNodeType NodeType, string NodeName, string NodeValue)
 Moves the current node to the first sibling node after the current node that satisfies the specified conditions, and returns the current node.
XmlNode GetNextNode (XmlNodeType NodeType, string NodeName)
 Moves the current node to the first sibling node after the current node that satisfies the specified conditions, and returns the current node.
XmlNode GetNextNode (XmlNodeType NodeType)
 Moves the current node to the first sibling node after the current node that is of the specified type.
XmlNode GetNextNode (string NodeName, string NodeValue)
 Moves the current node to the first sibling node after the current node that satisfies the specified conditions, and returns the current node. Node type is not important.
XmlNode GetNextNode (string NodeName)
 Moves the current node to the first sibling node after the current node that satisfies the specified conditions, and returns the current node. Node type is not important.
XmlNode GetNextOrCurrentNode (XmlNodeType NodeType, string NodeName, string NodeValue)
 Moves the current node to the current or the first sibling node after the current node that satisfies the specified conditions, and returns the current node.
XmlNode GetNextOrCurrentNode (XmlNodeType NodeType, string NodeName)
 Moves the current node to the current or the first sibling node after the current node that satisfies the specified conditions, and returns the current node.
XmlNode GetNextOrCurrentNode (XmlNodeType NodeType)
 Moves the current node to the current or the first sibling node after the current node that is of the specified type.
XmlNode GetNextOrCurrentNode (string NodeName, string NodeValue)
 Moves the current node to the current or the first sibling node after the current node that satisfies the specified conditions, and returns the current node. Node type is not important.
XmlNode GetNextOrCurrentNode (string NodeName)
 Moves the current node to the current or the first sibling node after the current node that satisfies the specified conditions, and returns the current node. Node type is not important.
XmlNode GetNextElement (string NodeName, string NodeValue)
 Moves the current node to the first sibling node after the current node that satisfies the specified conditions, and returns the current node.
XmlNode GetNextElement (string NodeName)
 Moves the current node to the first sibling node after the current node that satisfies the specified conditions, and returns the current node.
XmlNode GetNextElement ()
 Moves the current node to the first sibling element after the current node.
XmlNode GetNextOrCurrentElement (string NodeName, string NodeValue)
 Moves the current node to the current or the first sibling node after the current node that satisfies the specified conditions, and returns the current node.
XmlNode GetNextOrCurrentElement (string NodeName)
 Moves the current node to the current or the first sibling node after the current node that satisfies the specified conditions, and returns the current node.
XmlNode GetNextOrCurrentElement ()
 Moves the current node to the current or the first sibling element after the current node.
void SetMark (string name)
 Marks the current state of the XmlParser and sets mark name to name. Position is stored on a stack such that previous stored positions can be restored, either in a reverse way.
void SetMark ()
 Marks the current state of the XmlParser. The mark set is not named. Position is stored on a stack such that previous stored positions can be restored, either in a reverse way.
XmlNode GoToMark (bool removemark)
 Restores the parser state to the state contained in the last mark. The current node after operation is returned, or null if there are no marks. If required then the last mark is removed from the list.
XmlNode GoToMark (string name, bool removemarks)
 Restores the parser state to the state contained in the last mark with the specified name. The current node after operation is returned, or null if there are no marks with such a name. If required then the targeted and all subsequent marks are removed from the list.
XmlNode GoToMark ()
 Restores the parser state to the state contained in the last mark. The current node after operation is returned, or null if there are no marks. The last mark is LEFT on the list.
XmlNode GoToMark (string name)
 Restores the parser state to the state contained in the last mark with the specified name. The current node after operation is returned, or null if there are no marks with such a name.
XmlNode BackToMark ()
 Restores the parser state to the state contained in the last mark, and REMOVES that mark. The current node after operation is returned, or null if there are no marks.
XmlNode BackToMark (string name)
 Restores the parser state to the state contained in the last mark with the specified name, and REMOVES all marks from that mark on (includively). The current node after operation is returned, or null if there are no marks with such a name.
XmlNode RemoveMark ()
 Removes the last mark and returns its current node. Position is not affected.
XmlNode RemoveMarks (string name)
 Removes all marks from the last mark with the specified name on the list and returns the current node of the specified mark. Position is not affected.
XmlNode Back ()
 Moves the current to the previous node, if that node exists. Only one step backwards is enabled.
XmlNode MoveTo (XmlNode node)
 Moves the current position to the specified node.
XmlNode MoveTo (string path)
 Moves the current position to the first node that satisfies the absolute path specified as an XPath string.
XmlNode MoveRelative (string path)
 Moves the current position to the first node that satisfies the relative path specified as an XPath string relative to the current node.
XmlNode GoToParent ()
 Sets the current node to the parent node of the current node and returns it. This also works if the Current node is null because the advancing fell out of range or because StepIn was executed but there were no child _gridCoordinates of the current node.
XmlNode GoToRoot ()
 Sets the current node to the root node of the current document and returns it.
XmlNode GoToDocument ()
 Sets the current node to the root node of the current document and returns it.
XmlNode StepIn ()
 Moves the current node to its first child node and returns the node.
XmlNode StepOut ()
 Steps out of the current childnodes context and selects the next node of the parent as the current node. This also works if the Current node is null because the advancing fell out of range or because StepIn was executed but there were no child _gridCoordinates of the current node.
XmlNode NextNode ()
 Sets the current node to the next sibling node, or to null if the next sibling node does not exist, and returns that node.
XmlNode NextNodeConditional (XmlNodeType NodeType, string NodeName, string NodeValue, bool IncludeCurrent)
 Moves the current node to the first sibling node of the current node that satisfies the specified conditions, and returns the current node.
XmlNode NextNode (XmlNodeType NodeType, string NodeName, string NodeValue)
 Moves the current node to the first sibling node after the current node that satisfies the specified conditions, and returns the current node.
XmlNode NextNode (XmlNodeType NodeType, string NodeName)
 Moves the current node to the first sibling node after the current node that satisfies the specified conditions, and returns the current node.
XmlNode NextNode (XmlNodeType NodeType)
 Moves the current node to the first sibling node after the current node that is of the specified type.
XmlNode NextNode (string NodeName, string NodeValue)
 Moves the current node to the first sibling node after the current node that satisfies the specified conditions, and returns the current node. Node type is not important.
XmlNode NextNode (string NodeName)
 Moves the current node to the first sibling node after the current node that satisfies the specified conditions, and returns the current node. Node type is not important.
XmlNode NextOrCurrentNode (XmlNodeType NodeType, string NodeName, string NodeValue)
 Moves the current node to the current or the first sibling node after the current node that satisfies the specified conditions, and returns the current node.
XmlNode NextOrCurrentNode (XmlNodeType NodeType, string NodeName)
 Moves the current node to the current or the first sibling node after the current node that satisfies the specified conditions, and returns the current node.
XmlNode NextOrCurrentNode (XmlNodeType NodeType)
 Moves the current node to the current or the first sibling node after the current node that is of the specified type.
XmlNode NextOrCurrentNode (string NodeName, string NodeValue)
 Moves the current node to the current or the first sibling node after the current node that satisfies the specified conditions, and returns the current node. Node type is not important.
XmlNode NextOrCurrentNode (string NodeName)
 Moves the current node to the current or the first sibling node after the current node that satisfies the specified conditions, and returns the current node. Node type is not important.
XmlNode NextElement (string NodeName, string NodeValue)
 Moves the current node to the first sibling node after the current node that satisfies the specified conditions, and returns the current node.
XmlNode NextElement (string NodeName)
 Moves the current node to the first sibling node after the current node that satisfies the specified conditions, and returns the current node.
XmlNode NextElement ()
 Moves the current node to the first sibling element after the current node.
XmlNode NextOrCurrentElement (string NodeName, string NodeValue)
 Moves the current node to the current or the first sibling node after the current node that satisfies the specified conditions, and returns the current node.
XmlNode NextOrCurrentElement (string NodeName)
 Moves the current node to the current or the first sibling node after the current node that satisfies the specified conditions, and returns the current node.
XmlNode NextOrCurrentElement ()
 Moves the current node to the current or the first sibling element after the current node.

Static Public Member Functions

static XmlNode GetNextNode (XmlNode StartingNode, XmlNodeType NodeType, string NodeName, string NodeValue, bool IncludeCurrent)
 Finds the first sibling node of the starting node (or the current node itself) that satisfies the specified conditions, and returns that node or null if such a node could not be found. This method does not report errors, it just returns null if the node satisfying conditions can not be found.

Protected Member Functions

XmlNode GoToMark (Mark mark)
 Restores the parser state that is stored in the specified mark. The current node after operation is returned, or null if mark is not specified (i.e., it is null).

Properties

override XmlDocument Doc [get, set]
 Xml document that represents the message.
XmlNode Current [get, set]
 The current node on which all queries are performed.
XmlNode Previous [get, set]
 The node that was previously set to the current node.
XmlNode Parent [get, set]
 Parent of Current. If Current = null then Parent can still return something, which happens in particular when StepIn was performed before. Parent can be set to a specific node. That node will be returned by Parent when the Current is null (otherwise, the parent of Current is still returned). This is useful when current becomes null, e.g. because of running out of index bounds.
XmlElement ParentElement [get]
XmlElement CurrentElement [get]
XmlElement PreviousElement [get]
string Name [get]
 Returns the name of the current node.
string Value [get]
 Returns the value of the current node. If the current node is an element then the value of its first text child element is returned.
string InnerText [get]
 Returns the inner text of the current node.

Private Attributes

XmlNode _current = null
XmlNode _previous = null
XmlNode _parent = null
List< Markmarks = new List<Mark>()

Detailed Description

Base class for classes taht contain an Xml document that can be parsed. Provides comfortable utilities for transversing the document and for querying the value, name, and attributes of the current node.


Member Function Documentation

string IG::Lib::XmlParser::Attribute ( string  key) [inline]

Returns the value of the specified attribute of the current node. If the attribute does not exist then null is returned.

XmlNode IG::Lib::XmlParser::GetNode ( string  path) [inline]

Returns the first node that satisfies a given XPath expression relative to the root node. It does not report any errors (just returns null in case of errors)

Parameters:
pathXPath expression.
Returns:
The first node that satisfies the path, or null if no such node is found.
XmlNode IG::Lib::XmlParser::GetRelative ( string  path) [inline]

Returns the first node that satisfies a given XPath expression relative to the current node. It does not report any errors.

Parameters:
pathXPath expression.
Returns:
The first node that satisfies the path, or null if no such node is found.
static XmlNode IG::Lib::XmlParser::GetNextNode ( XmlNode  StartingNode,
XmlNodeType  NodeType,
string  NodeName,
string  NodeValue,
bool  IncludeCurrent 
) [inline, static]

Finds the first sibling node of the starting node (or the current node itself) that satisfies the specified conditions, and returns that node or null if such a node could not be found. This method does not report errors, it just returns null if the node satisfying conditions can not be found.

Parameters:
StartingNodeStarting node at which the search is started.
NodeTypeIf not XmlNodeType.None then the current node must have this type.
NodeNameIf not null then the current node must have this name.
NodeValueIf not null then the current node muust have this value.
IncludeCurrentIf true then the returned node can also be the current node (if it satisfies the conditions), otherwise the search starts at the next sibling of the current node.
Returns:
XmlNode IG::Lib::XmlParser::GetNextNode ( XmlNodeType  NodeType,
string  NodeName,
string  NodeValue 
) [inline]

Moves the current node to the first sibling node after the current node that satisfies the specified conditions, and returns the current node.

Parameters:
NodeTypeIf not None then the current node must have this type.
NodeNameIf not null then the current node must have this name.
NodeValueIf not null then the current node muust have this value.
XmlNode IG::Lib::XmlParser::GetNextNode ( XmlNodeType  NodeType,
string  NodeName 
) [inline]

Moves the current node to the first sibling node after the current node that satisfies the specified conditions, and returns the current node.

Parameters:
NodeTypeIf not None then the current node must have this type.
NodeNameIf not null then the current node must have this name.
XmlNode IG::Lib::XmlParser::GetNextNode ( XmlNodeType  NodeType) [inline]

Moves the current node to the first sibling node after the current node that is of the specified type.

Parameters:
NodeTypeIf not None then the current node must have this type.
XmlNode IG::Lib::XmlParser::GetNextNode ( string  NodeName,
string  NodeValue 
) [inline]

Moves the current node to the first sibling node after the current node that satisfies the specified conditions, and returns the current node. Node type is not important.

Parameters:
NodeNameIf not null then the current node must have this name.
NodeValueIf not null then the current node muust have this value.
XmlNode IG::Lib::XmlParser::GetNextNode ( string  NodeName) [inline]

Moves the current node to the first sibling node after the current node that satisfies the specified conditions, and returns the current node. Node type is not important.

Parameters:
NodeNameIf not null then the current node must have this name.
XmlNode IG::Lib::XmlParser::GetNextOrCurrentNode ( XmlNodeType  NodeType,
string  NodeName,
string  NodeValue 
) [inline]

Moves the current node to the current or the first sibling node after the current node that satisfies the specified conditions, and returns the current node.

Parameters:
NodeTypeIf not None then the current node must have this type.
NodeNameIf not null then the current node must have this name.
NodeValueIf not null then the current node muust have this value.
XmlNode IG::Lib::XmlParser::GetNextOrCurrentNode ( XmlNodeType  NodeType,
string  NodeName 
) [inline]

Moves the current node to the current or the first sibling node after the current node that satisfies the specified conditions, and returns the current node.

Parameters:
NodeTypeIf not None then the current node must have this type.
NodeNameIf not null then the current node must have this name.
XmlNode IG::Lib::XmlParser::GetNextOrCurrentNode ( XmlNodeType  NodeType) [inline]

Moves the current node to the current or the first sibling node after the current node that is of the specified type.

Parameters:
NodeTypeIf not None then the current node must have this type.
XmlNode IG::Lib::XmlParser::GetNextOrCurrentNode ( string  NodeName,
string  NodeValue 
) [inline]

Moves the current node to the current or the first sibling node after the current node that satisfies the specified conditions, and returns the current node. Node type is not important.

Parameters:
NodeNameIf not null then the current node must have this name.
NodeValueIf not null then the current node muust have this value.
XmlNode IG::Lib::XmlParser::GetNextOrCurrentNode ( string  NodeName) [inline]

Moves the current node to the current or the first sibling node after the current node that satisfies the specified conditions, and returns the current node. Node type is not important.

Parameters:
NodeNameIf not null then the current node must have this name.
XmlNode IG::Lib::XmlParser::GetNextElement ( string  NodeName,
string  NodeValue 
) [inline]

Moves the current node to the first sibling node after the current node that satisfies the specified conditions, and returns the current node.

Parameters:
NodeNameIf not null then the current node must have this name.
NodeValueIf not null then the current node muust have this value.
XmlNode IG::Lib::XmlParser::GetNextElement ( string  NodeName) [inline]

Moves the current node to the first sibling node after the current node that satisfies the specified conditions, and returns the current node.

Parameters:
NodeNameIf not null then the current node must have this name.
XmlNode IG::Lib::XmlParser::GetNextElement ( ) [inline]

Moves the current node to the first sibling element after the current node.

XmlNode IG::Lib::XmlParser::GetNextOrCurrentElement ( string  NodeName,
string  NodeValue 
) [inline]

Moves the current node to the current or the first sibling node after the current node that satisfies the specified conditions, and returns the current node.

Parameters:
NodeNameIf not null then the current node must have this name.
NodeValueIf not null then the current node muust have this value.
XmlNode IG::Lib::XmlParser::GetNextOrCurrentElement ( string  NodeName) [inline]

Moves the current node to the current or the first sibling node after the current node that satisfies the specified conditions, and returns the current node.

Parameters:
NodeNameIf not null then the current node must have this name.
XmlNode IG::Lib::XmlParser::GetNextOrCurrentElement ( ) [inline]

Moves the current node to the current or the first sibling element after the current node.

void IG::Lib::XmlParser::SetMark ( string  name) [inline]

Marks the current state of the XmlParser and sets mark name to name. Position is stored on a stack such that previous stored positions can be restored, either in a reverse way.

Parameters:
nameName assigned to the mark.
void IG::Lib::XmlParser::SetMark ( ) [inline]

Marks the current state of the XmlParser. The mark set is not named. Position is stored on a stack such that previous stored positions can be restored, either in a reverse way.

Parameters:
nameName assigned to the mark.
XmlNode IG::Lib::XmlParser::GoToMark ( Mark  mark) [inline, protected]

Restores the parser state that is stored in the specified mark. The current node after operation is returned, or null if mark is not specified (i.e., it is null).

Parameters:
markThe mark containing the state that is restored.
Returns:
The current node after operation.
XmlNode IG::Lib::XmlParser::GoToMark ( bool  removemark) [inline]

Restores the parser state to the state contained in the last mark. The current node after operation is returned, or null if there are no marks. If required then the last mark is removed from the list.

Parameters:
removemarksIf true then all marks from the specified one on (inclusively) are removed.
Returns:
The current node after operation or null if there is no valid last mark.
XmlNode IG::Lib::XmlParser::GoToMark ( string  name,
bool  removemarks 
) [inline]

Restores the parser state to the state contained in the last mark with the specified name. The current node after operation is returned, or null if there are no marks with such a name. If required then the targeted and all subsequent marks are removed from the list.

Parameters:
nameName of the mark whose state is restored.
removemarksIf true then all marks from the specified one on (inclusively) are removed.
Returns:
The current node after operation or null if the specified mark has not been found.
XmlNode IG::Lib::XmlParser::GoToMark ( ) [inline]

Restores the parser state to the state contained in the last mark. The current node after operation is returned, or null if there are no marks. The last mark is LEFT on the list.

Parameters:
removemarksIf true then all marks from the specified one on (inclusively) are removed.
Returns:
The current node after operation or null if there is no valid last mark.
XmlNode IG::Lib::XmlParser::GoToMark ( string  name) [inline]

Restores the parser state to the state contained in the last mark with the specified name. The current node after operation is returned, or null if there are no marks with such a name.

Parameters:
nameName of the mark whose state is restored.
Returns:
The current node after operation or null if the specified mark has not been found.
XmlNode IG::Lib::XmlParser::BackToMark ( ) [inline]

Restores the parser state to the state contained in the last mark, and REMOVES that mark. The current node after operation is returned, or null if there are no marks.

Returns:
The current node after operation or null if there is no valid last mark.
XmlNode IG::Lib::XmlParser::BackToMark ( string  name) [inline]

Restores the parser state to the state contained in the last mark with the specified name, and REMOVES all marks from that mark on (includively). The current node after operation is returned, or null if there are no marks with such a name.

Parameters:
nameName of the mark whose state is restored.
Returns:
The current node after operation or null if the specified mark has not been found.
XmlNode IG::Lib::XmlParser::RemoveMark ( ) [inline]

Removes the last mark and returns its current node. Position is not affected.

Returns:
The current node stored on the last mark, or null if no marks are defined.
XmlNode IG::Lib::XmlParser::RemoveMarks ( string  name) [inline]

Removes all marks from the last mark with the specified name on the list and returns the current node of the specified mark. Position is not affected.

Returns:
The current node stored on the last mark with the specified name, or null if such a mark is not found.
XmlNode IG::Lib::XmlParser::Back ( ) [inline]

Moves the current to the previous node, if that node exists. Only one step backwards is enabled.

XmlNode IG::Lib::XmlParser::MoveTo ( XmlNode  node) [inline]

Moves the current position to the specified node.

XmlNode IG::Lib::XmlParser::MoveTo ( string  path) [inline]

Moves the current position to the first node that satisfies the absolute path specified as an XPath string.

Parameters:
pathXPath string that specifies the node position relative to the document root.
Returns:
The node to which the current position has moved, or null if not successful.
XmlNode IG::Lib::XmlParser::MoveRelative ( string  path) [inline]

Moves the current position to the first node that satisfies the relative path specified as an XPath string relative to the current node.

Parameters:
pathXPath string that specifies the node position relative to the current node.
Returns:
The node to which the current position has moved, or null if not successful.
XmlNode IG::Lib::XmlParser::GoToParent ( ) [inline]

Sets the current node to the parent node of the current node and returns it. This also works if the Current node is null because the advancing fell out of range or because StepIn was executed but there were no child _gridCoordinates of the current node.

Returns:
The current node.
XmlNode IG::Lib::XmlParser::GoToRoot ( ) [inline]

Sets the current node to the root node of the current document and returns it.

Returns:
The current node.
XmlNode IG::Lib::XmlParser::GoToDocument ( ) [inline]

Sets the current node to the root node of the current document and returns it.

Returns:
The current node.
XmlNode IG::Lib::XmlParser::StepIn ( ) [inline]

Moves the current node to its first child node and returns the node.

XmlNode IG::Lib::XmlParser::StepOut ( ) [inline]

Steps out of the current childnodes context and selects the next node of the parent as the current node. This also works if the Current node is null because the advancing fell out of range or because StepIn was executed but there were no child _gridCoordinates of the current node.

Returns:
XmlNode IG::Lib::XmlParser::NextNode ( ) [inline]

Sets the current node to the next sibling node, or to null if the next sibling node does not exist, and returns that node.

XmlNode IG::Lib::XmlParser::NextNodeConditional ( XmlNodeType  NodeType,
string  NodeName,
string  NodeValue,
bool  IncludeCurrent 
) [inline]

Moves the current node to the first sibling node of the current node that satisfies the specified conditions, and returns the current node.

Parameters:
NodeTypeIf not None then the current node must have this type.
NodeNameIf not null then the current node must have this name.
NodeValueIf not null then the current node muust have this value.
IncludeCurrentIf true then the new current node can also be the current node (if it satisfies the conditions), otherwise the search starts at the next sibling of the current node.
Returns:
XmlNode IG::Lib::XmlParser::NextNode ( XmlNodeType  NodeType,
string  NodeName,
string  NodeValue 
) [inline]

Moves the current node to the first sibling node after the current node that satisfies the specified conditions, and returns the current node.

Parameters:
NodeTypeIf not None then the current node must have this type.
NodeNameIf not null then the current node must have this name.
NodeValueIf not null then the current node muust have this value.
XmlNode IG::Lib::XmlParser::NextNode ( XmlNodeType  NodeType,
string  NodeName 
) [inline]

Moves the current node to the first sibling node after the current node that satisfies the specified conditions, and returns the current node.

Parameters:
NodeTypeIf not None then the current node must have this type.
NodeNameIf not null then the current node must have this name.
XmlNode IG::Lib::XmlParser::NextNode ( XmlNodeType  NodeType) [inline]

Moves the current node to the first sibling node after the current node that is of the specified type.

Parameters:
NodeTypeIf not None then the current node must have this type.
XmlNode IG::Lib::XmlParser::NextNode ( string  NodeName,
string  NodeValue 
) [inline]

Moves the current node to the first sibling node after the current node that satisfies the specified conditions, and returns the current node. Node type is not important.

Parameters:
NodeNameIf not null then the current node must have this name.
NodeValueIf not null then the current node muust have this value.
XmlNode IG::Lib::XmlParser::NextNode ( string  NodeName) [inline]

Moves the current node to the first sibling node after the current node that satisfies the specified conditions, and returns the current node. Node type is not important.

Parameters:
NodeNameIf not null then the current node must have this name.
XmlNode IG::Lib::XmlParser::NextOrCurrentNode ( XmlNodeType  NodeType,
string  NodeName,
string  NodeValue 
) [inline]

Moves the current node to the current or the first sibling node after the current node that satisfies the specified conditions, and returns the current node.

Parameters:
NodeTypeIf not None then the current node must have this type.
NodeNameIf not null then the current node must have this name.
NodeValueIf not null then the current node muust have this value.
XmlNode IG::Lib::XmlParser::NextOrCurrentNode ( XmlNodeType  NodeType,
string  NodeName 
) [inline]

Moves the current node to the current or the first sibling node after the current node that satisfies the specified conditions, and returns the current node.

Parameters:
NodeTypeIf not None then the current node must have this type.
NodeNameIf not null then the current node must have this name.
XmlNode IG::Lib::XmlParser::NextOrCurrentNode ( XmlNodeType  NodeType) [inline]

Moves the current node to the current or the first sibling node after the current node that is of the specified type.

Parameters:
NodeTypeIf not None then the current node must have this type.
XmlNode IG::Lib::XmlParser::NextOrCurrentNode ( string  NodeName,
string  NodeValue 
) [inline]

Moves the current node to the current or the first sibling node after the current node that satisfies the specified conditions, and returns the current node. Node type is not important.

Parameters:
NodeNameIf not null then the current node must have this name.
NodeValueIf not null then the current node muust have this value.
XmlNode IG::Lib::XmlParser::NextOrCurrentNode ( string  NodeName) [inline]

Moves the current node to the current or the first sibling node after the current node that satisfies the specified conditions, and returns the current node. Node type is not important.

Parameters:
NodeNameIf not null then the current node must have this name.
XmlNode IG::Lib::XmlParser::NextElement ( string  NodeName,
string  NodeValue 
) [inline]

Moves the current node to the first sibling node after the current node that satisfies the specified conditions, and returns the current node.

Parameters:
NodeNameIf not null then the current node must have this name.
NodeValueIf not null then the current node muust have this value.
XmlNode IG::Lib::XmlParser::NextElement ( string  NodeName) [inline]

Moves the current node to the first sibling node after the current node that satisfies the specified conditions, and returns the current node.

Parameters:
NodeNameIf not null then the current node must have this name.
XmlNode IG::Lib::XmlParser::NextElement ( ) [inline]

Moves the current node to the first sibling element after the current node.

XmlNode IG::Lib::XmlParser::NextOrCurrentElement ( string  NodeName,
string  NodeValue 
) [inline]

Moves the current node to the current or the first sibling node after the current node that satisfies the specified conditions, and returns the current node.

Parameters:
NodeNameIf not null then the current node must have this name.
NodeValueIf not null then the current node muust have this value.
XmlNode IG::Lib::XmlParser::NextOrCurrentElement ( string  NodeName) [inline]

Moves the current node to the current or the first sibling node after the current node that satisfies the specified conditions, and returns the current node.

Parameters:
NodeNameIf not null then the current node must have this name.
XmlNode IG::Lib::XmlParser::NextOrCurrentElement ( ) [inline]

Moves the current node to the current or the first sibling element after the current node.


Member Data Documentation

XmlNode IG::Lib::XmlParser::_current = null [private]
XmlNode IG::Lib::XmlParser::_previous = null [private]
XmlNode IG::Lib::XmlParser::_parent = null [private]
List<Mark> IG::Lib::XmlParser::marks = new List<Mark>() [private]

Property Documentation

override XmlDocument IG::Lib::XmlParser::Doc [get, set]

Xml document that represents the message.

Reimplemented from IG::Lib::XmlUtilityBase.

XmlNode IG::Lib::XmlParser::Current [get, set]

The current node on which all queries are performed.

XmlNode IG::Lib::XmlParser::Previous [get, set]

The node that was previously set to the current node.

XmlNode IG::Lib::XmlParser::Parent [get, set]

Parent of Current. If Current = null then Parent can still return something, which happens in particular when StepIn was performed before. Parent can be set to a specific node. That node will be returned by Parent when the Current is null (otherwise, the parent of Current is still returned). This is useful when current becomes null, e.g. because of running out of index bounds.

XmlElement IG::Lib::XmlParser::ParentElement [get, protected]
XmlElement IG::Lib::XmlParser::CurrentElement [get, protected]
XmlElement IG::Lib::XmlParser::PreviousElement [get, protected]
string IG::Lib::XmlParser::Name [get]

Returns the name of the current node.

string IG::Lib::XmlParser::Value [get]

Returns the value of the current node. If the current node is an element then the value of its first text child element is returned.

string IG::Lib::XmlParser::InnerText [get]

Returns the inner text of the current node.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Enumerations Properties Events